哪一个更快?
我正在对ConcurrentDictionary进行测试,并希望将其随机化并返回1个结果。基本上从中随机选取结果。
哪种方法更快/更有效? 效率和cpu /内存一样少,同时具有冲突等可能的错误等。
方法A.
Random rand = new Random();
var result = concDict.ElementAt(rand.Next(concDict.Count() - 1));
方法B.
var result = concDict.OrderBy(x=>Guid.NewGuid()).First();
在我的模糊"测试除了方法B更有效之外我没有看到太多差异。方法A可以使concDict的Count与concDict.ElementAt不同步导致ArgumentOutOfRangeException: 'maxValue' must be greater than zero.
,而方法B实际上不能导致{。