C# 单击按钮时从字典中随机输入

use*_*517 2 c# random dictionary

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

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]);
      }
}
Run Code Online (Sandbox Code Playgroud)

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

Tim*_*ter 5

您可能正在寻找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)];
Run Code Online (Sandbox Code Playgroud)

编辑:这是一种使用 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;
Run Code Online (Sandbox Code Playgroud)

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