c# - 将字典值添加为字符串列表
问题描述
我正在尝试创建一个字典,其中值存储为可以迭代的字符串列表。最终目标是我可以混合和匹配值以传递给方法中的参数,用于不同的 Selenium 测试。基本上,字典用于存储测试数据。
public void EnterSearchInfo (string username, string cropname, string stationname, string applicationname)
{
Dictionary<string, List<string>> searchValues = new Dictionary<string, List<string>>();
searchValues.Add("User", ["USER1", "USER2"]);
searchValues.Add("Crop", ["Corn", "Soy"]);
searchValues.Add("Station", ["AA", "JH", "HW"]);
_driver.FindElement(user).SendKeys(username);
_driver.FindElement(crop).SendKeys(cropname);
_driver.FindElement(station).SendKeys(stationname);
_driver.FindElement(application).SendKeys(applicationname);
_driver.FindElement(findAssocBtn).Click();
}
但是,上面的方法不起作用,特别是这部分(我没有正确添加值):
searchValues.Add("User", ["USER1", "USER2"]);
searchValues.Add("Crop", ["Corn", "Soy"]);
searchValues.Add("Station", ["AA", "JH", "HW"]);
有任何想法吗?或者如果有更好的方法来处理这个,请告诉我
解决方案
您只是缺少字典的每个列表元素的实例化。如果您知道创建字典时的值,则可以使用:
Dictionary<string, List<string>> searchValues = new Dictionary<string, List<string>>
{
{ "User", new List<string>() {"USER1", "USER2" } },
{ "Crop", new List<string>() {"Corn", "Soy" } },
{ "Station", new List<string>() {"AA", "JH", "HW" } }
};
或者,如果您的值在创建字典时未知,即从文本文件或数据库中检索值时,您可以使用 List 类的 Add 方法。
Dictionary<string, List<string>> searchValues = new Dictionary<string, List<string>>();
searchValues.Add("User", new List<string>() { "USER1", "USER2" });
searchValues.Add("Crop", new List<string>() { "Corn", "Soy" });
searchValues.Add("Station", new List<string>() { "AA", "JH", "HW" });
推荐阅读
- php - WideImage 有更新的替代品吗?
- c# - 如何使用实体框架更新数据库中的数量
- ubuntu - Baobab 和 System Monitor 之间的目录大小差异
- java - 如何伪造流到 Chrome 而不是使用网络摄像头
- c# - 如何从类中获取它继承的所有接口(使用 roslyn)?
- class - Kotlin 是否支持包保护的可见性?
- c++ - 我的编译器是否忽略了我未使用的静态 thread_local 类成员?
- asp.net - 登录过程中 User.Identity.GetUserId() 的 ASP.NET MVC5 身份问题
- java - 传递几个 lambda 作为方法的参数
- java - 如何在 jpa 存储库中使用 jsonb_set 来传递动态字符串?