gpt4 book ai didi

c# - GetType().GetHashCode() 是否保证唯一性?

转载 作者:行者123 更新时间:2023-11-30 14:27:20 24 4
gpt4 key购买 nike

假设我有几个类:

MyClass1() {}

MyChild1() : MyClass1 {}

MyChild2() : MyClass2 {}

MyGrandchild1() : MyChild2 {}

等等

我知道 GetHashCode() 本身保证任何两个不同对象之间的唯一性,但我感兴趣的是它是否适用于任何两个类型也是吗?即:

(1) 是否有机会:typeof(MyClass1).GetHashCode() == typeof(MyGrandchild1).GetHashCode() 将返回 true?

(2) 如果有 (1) 的机会:是否有机会 typeof(MyClass1) == typeof(MyGrandchild1) 将返回 true?

(3) 最坏情况:是否有机会 typeof(int) == typeof(long) 将返回 ?

EDIT 我忘了问 case (4) typeof(int).GetHashCode() == typeof(long).GetHashCode(),是否有机会返回true

最佳答案

I know that GetHashCode() by itself, does not guarantee uniqueness between any two different Objects, but I'm interested does that apply for any two Types as well

Type 是一个对象 所以同样适用

is there a chance that: typeof(MyClass1).GetHashCode() == typeof(MyGrandchild1).GetHashCode() will return true

if there's a chance for (1): is there a chance that typeof(MyClass1) == typeof(MyGrandchild1) will return true

不,它们是不同的类型

worst case scenario: is there a chance that typeof(int) == typeof(long)will return true

不是,原因同上。

关于c# - GetType().GetHashCode() 是否保证唯一性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33213713/

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