gpt4 book ai didi

c# - 带字符串键的 GetHashCode()

转载 作者:可可西里 更新时间:2023-11-01 07:49:32 25 4
gpt4 key购买 nike

大家好,我一直在阅读关于在 .NET 中为对象实现 GetHashCode() 覆盖的最佳方法,我遇到的大多数答案都涉及以某种方式将数字从数字类型的成员中拼凑出来一个方法。问题是,我有一个使用字母数字字符串作为其键的对象,我想知道仅对以字符串作为键的对象使用内部 ID 是否存在根本性错误,如下所示?


// Override GetHashCode() to return a permanent, unique identifier for
// this object.
static private int m_next_hash_id = 1;
private int m_hash_code = 0;
public override int GetHashCode() {
if (this.m_hash_code == 0)
this.m_hash_code = <<i>type</i>>.m_next_hash_id++;
return this.m_hash_code;
}

有没有更好的方法来为使用字母数字字符串作为其键的对象提供唯一的哈希码? (不,字母数字字符串的数字部分不是唯一的;其中一些字符串实际上根本没有数字。)任何想法将不胜感激!

最佳答案

您可以对对象中使用的非数字值调用 GetHashCode()

private string m_foo;
public override int GetHashCode()
{
return m_foo.GetHashCode();
}

关于c# - 带字符串键的 GetHashCode(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3320808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com