C#中的Type类是否重载了== 操作符?

JackGeminiKu 发布于 2014/11/18 10:11
阅读 193
收藏 0

小弟有个问题, 在这里请教一下大家.

在C#(.net 2.0)中, typeof(int) == typeof(int)表达式的值为true

typeof操作符返回一个System.Type类型的对象, ==运算符对引用类型比较的是两个对象指向的引用是否是同一个对象.

那么问题来了, typeof(int) == typeof(int)表达式的值之所以为true, 是因为==左边的typeof(int)对象和==右边的typeof(int)对象指向的引用是同一个对象? 还是说,System.Type类重载了==操作符?

上面哪一种说法是对的? 为什么?

感谢!

加载中
0
张亦俊
张亦俊
你可以去看源代码
0
J
JackGeminiKu

引用来自“张亦俊”的评论

你可以去看源代码

@张亦俊

请教怎么看源代码?

张亦俊
张亦俊
http://referencesource.microsoft.com/这边有,把要搜索的类名打在左边就好了,比如System.Type
0
月影南溪
月影南溪

你可以用

new A().GetType() == new A().GetType()和

new A().GetType().GetHashcode() == new A().GetType().GetHashcode() 确认一下

0
Ghostab
Ghostab

是同一个对象。

.NET Framework开源了,可以看源代码

0
lgscofield
lgscofield
返回的就是同一个对象啊
0
大王叫我来卖萌
大王叫我来卖萌
typeof是运算符,类型相同时返回同一个引用。
返回顶部
顶部