相关疑难解决方法(0)

重写System.Object.GetHashCode的最佳算法是什么?

在.NET GetHashCode方法中,很多地方都使用.NET 方法.特别是在快速查找集合中的项目或确定相等性时.是否有关于如何GetHashCode为我的自定义类实现覆盖的标准算法/最佳实践,因此我不会降低性能?

.net algorithm hashcode gethashcode

1389
推荐指数
14
解决办法
19万
查看次数

散列过程如何在Dictionary <TKey,TValue>中工作

散列过程如何在Dictionary中工作?我读到使用字典提供更快的查找.但是不明白怎么了?散列和映射到索引的方式如何?找不到任何好的参考.

编辑:如何从散列函数的结果中获取存储对象的实际内存位置?

.net c#

13
推荐指数
2
解决办法
1万
查看次数

字典允许我插入重复的键

我已经创建了一些类,因此我可以使用一对字典作为键

public class RouteKey
{
    public Equip Equipment { get; set; }
    public Destiny Destiny { get; set; }

    public RouteKey() { }
    public RouteKey(Equip Equipment, Destiny Destiny) {
        this.Equipment = Equipment;
        this.Destiny = Destiny;
    }
}

public override bool Equals(object obj)
{
    if (obj == null) return false;

    if (this.GetType() != obj.GetType()) return false;

    RouteKey rk = (RouteKey)obj;

    // use this pattern to compare reference members
    if (!Object.Equals(Equipment, rk.Equipment)) return false;

    // use this pattern to compare value members …
Run Code Online (Sandbox Code Playgroud)

c# dictionary

2
推荐指数
1
解决办法
1596
查看次数

标签 统计

.net ×2

c# ×2

algorithm ×1

dictionary ×1

gethashcode ×1

hashcode ×1