字典中的随机值?

时间:2013-10-09 01:14:39

标签: c# random dictionary

var dd = new Dictionary<Guid, object>(); //readonly in my real code
dd.Add( Guid.NewGuid() , 'a');
dd.Add( Guid.NewGuid() , 'a');
dd.Add( Guid.NewGuid() , 'a');
var randone = dd.ElementAt(new Random(dd.Count()).Next(dd.Count));

我想尽快从dd中获取一个随机值(每个ms计数),但我很确定我没有使用上面的示例。如何重做randone以获得随机KeyValuePair?在实际代码中,密钥实际上是GUID,但值是自定义POCO。

1 个答案:

答案 0 :(得分:2)

如果您可以将所有密钥保存在List<T>中,那么您只需选择介于0和List.Count之间的随机数。使用该数字(简单查找)索引到列表中,然后使用它索引到您的字典中。