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