删除Dictionary中的随机复制

时间:2013-11-28 04:17:59

标签: c# .net dictionary

我的代码遇到问题。这些值是随机复制的,我不确定如何防止随机复制。

这是我的代码:

public static Dictionary<TKey, TValue> Shuffle<TKey, TValue>(
   this Dictionary<TKey, TValue> source)
{
    Random r = new Random();
    return source.OrderBy(x => r.Next())
       .ToDictionary(item => item.Key, item => item.Value);
}

1 个答案:

答案 0 :(得分:0)

为了避免重复,您需要保留Random的实例。

考虑以下内容......

public static Dictionary<TKey, TValue> Shuffle<TKey, TValue>(
   this Dictionary<TKey, TValue> source, Random r)
{
    return source.OrderBy(x => r.Next())
       .ToDictionary(item => item.Key, item => item.Value);
}

祝你好运!