C# .NET代理优化
在浏览.NET参考源代码时,我发现了下面的一段代码,复制自 请注意对C# .NET代理优化,c#,equality,C#,Equality,在浏览.NET参考源代码时,我发现了下面的一段代码,复制自 请注意对(对象)的强制转换,这很奇怪。我假设这样做的原因不是使用==操作符覆盖委托,而是使用对象中的操作符覆盖。但是,在浏览对象的代码时,我找不到=的定义 问题是: ==在对象上,它在哪里定义,它的行为是什么?来自: 对于字符串以外的引用类型,=如果其两个操作数引用同一对象,则返回true // Reference equality: different objects, // same boxed value: False. obj
(对象)
的强制转换,这很奇怪。我假设这样做的原因不是使用==
操作符覆盖委托
,而是使用对象
中的操作符覆盖。但是,在浏览对象的代码时,我找不到=
的定义
问题是:
==
在对象上,它在哪里定义,它的行为是什么?来自:
对于字符串以外的引用类型,=
如果其两个操作数引用同一对象,则返回true
// Reference equality: different objects,
// same boxed value: False.
object s = 1;
object t = 1;
Console.WriteLine(s == t);
?
// Reference equality: different objects,
// same boxed value: False.
object s = 1;
object t = 1;
Console.WriteLine(s == t);