gpt4 book ai didi

vb.net - 为什么使用 Type.Equals(t1, t2) 而不是相等运算符?

转载 作者:行者123 更新时间:2023-12-02 09:20:59 25 4
gpt4 key购买 nike

为什么必须使用 Type.Equals(t1, t2) 来确定等效类型,而不是使用相等运算符(例如,对于 VB.NET,t1 = t2) ?

它似乎与 .NET API 的其他部分不一致。

VB.NET 中的示例:

如果 GetType(String) = GetType(String) 那么
Debug.Print("当然是一样的")
结束如果

导致编译时错误“未为类型“System.Type”和“System.Type”定义运算符“=”。

最佳答案

根据this ,VB 相等运算符进行值比较,而不是引用比较。使用 Type.Equals(t1,t2) 强制它进行引用比较。如果 t1 和 t2 是类型,我认为两者都可以,但我是 C# 人员,所以我知道什么。如果我不关心精确的类型匹配,我可能更喜欢对已知类和 IsInstanceOf 使用 is 语法。

Typeof a Is Boolean

a.GetType().IsAssignableFrom( b.GetType() )

关于vb.net - 为什么使用 Type.Equals(t1, t2) 而不是相等运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/289845/

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