0

我的字典有这个工作代码:

dict = new Dictionary<string, string>();

using (StreamReader read = new StreamReader("dictionaryfile.csv"))
{
      string line;
      while ((line = read.ReadLine()) != null)
      {
          string[] splitword = line.Split(',');  
          dict.Add(splitword[0], splitword[1]);
      }
}

我在我的 Windows 窗体中添加了一个按钮,如何从我的字典中分配一个随机条目以显示在按钮单击的消息框中?

4

1 回答 1

4

您可能正在寻找Random课程和OrderedDictionary

var dict = new System.Collections.Specialized.OrderedDictionary(); 
dict.Add("key1", "value1");
dict.Add("key2", "value2");
dict.Add("key3", "value3");
dict.Add("key4", "value4");
// get a random value 
var rnd = new Random();
var randomValue = (String)dict[rnd.Next(0, dict.Count)];

编辑:这是使用 aDictionary<String,String>和方法的ElementAt方法:

var rnd = new Random();
var randomEntry = dict.ElementAt(rnd.Next(0, dict.Count));
String randomKey = randomEntry.Key;
String randomValue = randomEntry.Value;

请注意,您不应在方法中创建随机实例,您应该将其作为参数传递或使用成员变量:https ://stackoverflow.com/a/768001/284240

于 2012-04-29T19:48:37.573 回答