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实现

C#开发的OpenRA的只读字典IReadOnlyDictionary实现

C#开发的OpenRA的Shader加载编译和设置使用

C#开发的OpenRA的Shader加载编译和设置使用

C#开发的OpenRA的加载游戏UI绘制

C#开发的OpenRA的加载游戏UI绘制