【问题标题】:Unique Dictionaries in a list of dictionaries(c#)字典列表中的唯一字典(c#)
【发布时间】:2012-11-14 18:11:51
【问题描述】:

我想创建一个通用类来帮助我比较两个字典(键和值)

class DictionaryComparer : IEqualityComparer<Dictionary<TKey, TValue>> //doesn't work. But i want to make it generic

class DictionaryComparer : IEqualityComparer<Dictionary<string,string>> //works. Not generic

我会在 List&lt;Dictionary&lt;string,string&gt;&gt; 上使用 Distinct(IEqualityComparer&lt;Dictionary&lt;string,string&gt;&gt; comparer) 来使用 IEqualityComparer 的引用。这样我的列表中只有唯一的字典。

有没有更好的方法在列表中拥有独特的词典

【问题讨论】:

  • 你试过class DictionaryComparer&lt;TKey, TValue&gt; : IEqualityComparer&lt;Dictionary&lt;TKey, TValue&gt;&gt;
  • 这行得通。有没有更好的方法来比较字典列表中的两个字典

标签: c# list generics dictionary


【解决方案1】:
class DictionaryComparer<TKey, TValue> 
    : IEqualityComparer<Dictionary<TKey, TValue>>

可能会起作用。

【讨论】:

  • 这行得通。有没有更好的方法来比较字典列表中的两个字典。
  • @user1650470 我在考虑。我不确定,但我想你必须实现一个字典,在添加项目时创建一个哈希码。然后你可以比较哈希值。这是我现在能想到的最好的了。
猜你喜欢
  • 2017-11-02
  • 1970-01-01
  • 2012-06-20
  • 2013-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多