C#开发的OpenRA使用自定义字典的比较函数
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#开发的OpenRA使用自定义字典的比较函数相关的知识,希望对你有一定的参考价值。
C#开发的OpenRA使用自定义字典的比较函数
字典是一个常用的数据结构,
因为它采用键值对的方式来保存数据,
这样非常方便程序里进行数据一对一的映射。
比如通过文件名称查找到文件对象,又者通过socket对象找到缓冲区对象。
由于字典是采用HASH算法,所以它的查找时间是非常快,并且索引类型也没有太多限制,
可以适用的类型就普通数据的范围就大得多了。
字典由于键的唯一性,如果自定义的类作为键,
又是怎么样比较才确保唯一性呢?
默认的情况可能是采用对象的HASH值,但是这种情况在普通的对象是可以使用的。
但是对于要有物理上意义的对象,就不太适用了。
比如一个盒子的大小,不能通过对象的HASH值来认为它们是相等的,因为盒子的大小是通过长宽高来决定。
对于一个初步使用字典的开发人员来说,要自己从头写一个比较器,
这是比较困难的,如果有一个模板,再从这个模板上进行扩展,
就会快很多,并且不用出错。
后面提供的例子,就是这样的作用。
另Func<T,TResult> 委托,也是在OpenRA里常用,在这里也一并了解它。
只要认值地理解后面的例子,就可以熟悉相关的内容,才可以看懂Ope
以上是关于C#开发的OpenRA使用自定义字典的比较函数的主要内容,如果未能解决你的问题,请参考以下文章
C#开发的OpenRA的只读字典IReadOnlyDictionary实现