在C#中存储键值对

时间:2014-12-31 05:55:55

标签: c# selenium-webdriver

在Java中,我可以使用如下所示的属性文件来存储元素ID并实现相同的

CountryName=USA

driver.findElement(By.name(prop.getProperty("CountryName"))).click();

在c#中有没有这样的方法,我可以存储键值pairand在执行时检索它。

3 个答案:

答案 0 :(得分:2)

您始终可以使用Dictionary

示例:

Dictionary<string, int> intMap = new Dictionary<string, int>();
intMap.Add("One", 1);
intMap.Add("Two", 2);

foreach (KeyValuePair<string, int> keyValue in intMap) 
{
    Console.WriteLine("{0} -> {1}", keyValue.Key, keyValue.Value);
}

或者只需使用此代码:

KeyValuePair<string, string> NAME_HERE = new KeyValuePair<string,string>("defaultkey", "defaultvalue");

答案 1 :(得分:0)

除了使用SandySands建议的词典外,您还可以通过键

找到值
var countries = new Dictionary<string, string>()
{
  {"USA", "id_1"},
  {"UK", "id_2"},
};

// locate the value by key: countries[key]
driver.findElement(countries["USA"]).click()

如果id的类型只是int,我建议改为使用Enum。

Public Enum Country
{
  USA = 1,
  UK = 2,
}

driver.findElement(((int)CountryCountry.USA).ToString()).click()

答案 2 :(得分:0)

字典可以通过提供KEY作为元素直接提供详细信息,如图所示

Dictionary<string, string> DE = new Dictionary<string, string>();
 DE.Add("ID1", "34 Employees, 50 Computers");
 DE.Add("ID2", "100 Employees, 67 Computers");
 string details = DE["ID1"]; // Key "ID1" shall give the detals as "34 Employees, 50 Computers"