让Dictionary key 支持自定义对象

简介:

让Dictionary key 支持自定义对象,则对象必须继承IEquatable,重写GetHashCode、Equals

 

class Foo : IEquatable<Foo> { 
    
public string Name { get; set;} 
    
public int FooID {get; set;} 
 
    
public override int GetHashCode() { 
        
return Name.GetHashCode()+FooID.GetHashCode(); 
    
} 
    
public override bool Equals(object obj) { 
        
return Equals(obj as Foo); 
    
} 
    
public bool Equals(Foo obj) { 
        
return obj != null && obj.FooID == this.FooID; 
    
} 
} 




本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2012/06/04/2535153.html,如需转载请自行联系原作者

相关文章
|
7月前
|
Python
在Python中,字典(dictionary)的键(key)具有唯一标识性
在Python中,字典(dictionary)的键(key)具有唯一标识性
286 1
|
7月前
|
数据处理
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
118 0
|
7月前
GEE错误:Dictionary does not contain key: bucketMeans.
GEE错误:Dictionary does not contain key: bucketMeans.
81 0
C# Dictionary通过value获取对应的key值[转发]
1:最直白的循环遍历方法,可以分为遍历key--value键值对以及所有的key两种表现形式 2:用Linq的方式去查询(当然了这里要添加对应的命名空间 using System.Linq)  如下为一个十分简单的代码示例: private void GetDicKeyByValue() ...
1674 0
Dictionary<Key,Value>的用法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.
807 0
|
7月前
|
存储 Swift
在Swift编程语言中,字典(Dictionary)
在Swift编程语言中,字典(Dictionary)
81 3
|
存储 Java Python
多重字典(Multi-Level Dictionary)
多重字典(Multi-Level Dictionary)是一种将多个字典组合在一起的数据结构,用于解决需要在多个维度上查找数据的问题。多重字典可以看作是一个嵌套的字典,每个字典都可以作为其他字典的键。 使用多重字典的场景:
172 3
|
7月前
|
存储 缓存 数据库连接
Python基础教程——字典(Dictionary)
Python基础教程——字典(Dictionary)
|
6月前
|
存储 Python 容器