社区
C#
帖子详情
自定的类如何才能用作dictionary的key?
种草德鲁伊
2010-11-13 04:47:30
比如
class KeyClass
{
public Type Type{ get; set; }
public string Name { get; set; }
}
是不是要重写GetHashCode Equals什么的?
...全文
280
10
打赏
收藏
自定的类如何才能用作dictionary的key?
比如 class KeyClass { public Type Type{ get; set; } public string Name { get; set; } } 是不是要重写GetHashCode Equals什么的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
种草德鲁伊
2010-11-14
打赏
举报
回复
看了一下dictionary的源码,确实也是这样。
福来哥
2010-11-14
打赏
举报
回复
[Quote=引用 8 楼 karascanvas 的回复:]
搞定了,GetHashcode和Equals两个方法都必须重写才行..
[/Quote]
你的意思是实现IEqualeable接口就可以了吗?
但我看你的类像是要实现索引一样!!!
种草德鲁伊
2010-11-14
打赏
举报
回复
搞定了,GetHashcode和Equals两个方法都必须重写才行..
bloodish
2010-11-13
打赏
举报
回复
[Quote=引用 5 楼 karascanvas 的回复:]
GetHashcode内部应该怎么编写呢。
[/Quote]
return (Name+Type.Name).GetHashcode();
绿色夹克衫
2010-11-13
打赏
举报
回复
重载Equals应该就行
种草德鲁伊
2010-11-13
打赏
举报
回复
[Quote=引用 4 楼 sp1234 的回复:]
值?那么你应该用值做key,而不是整个对象。
你也可以重写GetHashcode方法返回值。
[/Quote]
可能我描述的不够清晰,就是如果两个属性Type和Name的值都相等的话,就判定整个对象相等。
还想请教一下大师,这样的话,GetHashcode内部应该怎么编写呢。
以专业开发人员为伍
2010-11-13
打赏
举报
回复
[Quote=引用 2 楼 karascanvas 的回复:]
现在需要比较值,引用肯定不相等的...
[/Quote]
值?那么你应该用值做key,而不是整个对象。
你也可以重写GetHashcode方法返回值。
以专业开发人员为伍
2010-11-13
打赏
举报
回复
public Dictionary<KeyClass, MyResultType> 我的词典= new
Dictionary<KeyClass, MyResultType>();
种草德鲁伊
2010-11-13
打赏
举报
回复
[Quote=引用 1 楼 xiehuanxie 的回复:]
不写也可以, 用默认的Equals比较引用
[/Quote]
现在需要比较值,引用肯定不相等的...
xiehuanxie
2010-11-13
打赏
举报
回复
不写也可以, 用默认的Equals比较引用
根据value来定位
key
在C#的
Dictionary
中如何实现?
本文探讨了在C#中如何在
Dictionary
中通过value查找对应的
key
。通常我们使用
key
获取value,但这里介绍了一种创建辅助数据结构的方法,即创建一个反向映射的
Dictionary
,用于通过value快速找到
key
。
Java
Dictionary
类
和 Hashtable
类
博客主要介绍了Java的
Dictionary
类
和Hashtable
类
。
Dictionary
类
是抽象
类
,用于存储键/值对,不过已过时,可通过实现Map接口实现相关功能。Hashtable是
Dictionary
的具体实现,实现了Map接口,集成到集合框架,和HashMap相似但支持同步,在哈希表中存储键/值对。
VBA中
Dictionary
对象使用(
Key
,Value)
本文详细介绍了VBA编程中的
Dictionary
对象,重点讲解如何利用
Dictionary
对象的
Key
和Value属性进行数据存储和操作。通过实例演示,帮助读者掌握在VBA中高效运用
Dictionary
对象的方法。
C#中:字典
Dictionary
<
Key
, Value>的用法
本文介绍了C#中
Dictionary
类
的基本概念和使用方法,包括如何创建和初始化一个包含
自定
义
类
型的
Dictionary
,以及如何通过键来访问和遍历字典中的元素。
Dictionary
按
Key
正反排序
本文介绍了如何在
Dictionary
中实现正反向排序。由于Sorted
Dictionary
仅支持正序,反序需要
自定
义方法。在Web环境下,通过引用System.Linq和System.Collections.Generic,结合LINQ表达式,可以实现
Dictionary
的反向排序。示例代码展示了正序和反序排序的效果。
C#
111,129
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章