【发布时间】:2013-05-12 23:41:46
【问题描述】:
有没有一种简单的方法可以根据类的数据为类创建哈希键??? 或者一些接口?
我有一个Dictionary<MyClass, int>。
MyClass 很简单,它包含一个名称和一个字符串数组:
class MyClass
{
public string Name {get; private set;}
public string[] Attributes {get; private set; }
//and a constructor and some methods
}
现在,如果我有两个包含相同名称和属性的 MyClass 实例,我需要该字典来考虑它们是否具有相同的键。
我试着把它做成一个结构,也试着做成一个Dictionary<string[], int>,但是这三种情况都是一样的,字典对每个实例都看到不同的键,即使有相同的数据。
我可以创建一个带有名称和所有参数的算法的字符串键,并创建一个Dictionary<string, int>,但我想要更自动化的东西。还有其他方法吗?
也许是一个接口(不会避免算法,但总比没有好)。
【问题讨论】:
-
Attributes中的字符串顺序是否重要?案子?nullAttributes成员是否等于非空但为空的成员?让其中两个类“相等”并不明显或简单。 -
一切都很重要,但 null 属性是不可能的。 (允许为空)
标签: c# dictionary key