【发布时间】:2018-04-16 16:47:12
【问题描述】:
是否有可能拥有一个接收通用字典参数并从中返回随机键的函数?由于字典“键”值可以是任何数据类型,我希望字典参数是通用的,并从它返回一个随机键,无论是什么数据类型。到目前为止,我写了这篇文章,但遇到了一个错误。
Dictionary<int, string> dict = new Dictionary<int, string>();
dict.Add(1, "1003206");
dict.Add(2, "1234567");
dict.Add(3, "5432567");
int randomKey = (int)RandomDictionaryKeyValue<Dictionary<int, string>>(dict);
private T RandomDictionaryKeyValue<T>(Dictionary<T, T> dict)
{
List<T> keyList = new List<T>(dict.Keys);
Random rand = new Random();
return keyList[rand.Next(keyList.Count)];
}
我遇到了错误:
CS1503 参数 1:无法从
'System.Collections.Generic.Dictionary<int, string>'转换为'System.Collections.Generic.Dictionary<System.Collections.Generic.Dictionary<int, string>, System.Collections.Generic.Dictionary<int, string>>'
我知道如何获取Access random item in list,但我不知道如何正确地将字典传递给我的方法。
【问题讨论】:
标签: c# dictionary generics