Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET代理优化_C#_Equality - Fatal编程技术网

C# .NET代理优化

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

在浏览.NET参考源代码时,我发现了下面的一段代码,复制自

请注意对
(对象)
的强制转换,这很奇怪。我假设这样做的原因不是使用
==
操作符覆盖
委托
,而是使用
对象
中的操作符覆盖。但是,在浏览
对象的代码时,我找不到
=
的定义

问题是:

==
对象上,它在哪里定义,它的行为是什么?

来自:

对于字符串以外的引用类型,
=
如果其两个操作数引用同一对象,则返回
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);