在检查String ==
运算符时,我注意到它调用String.Equals(string a, string b)
,这意味着它只是一个传递。
检查该String.Equals(string a, string b)
方法,我发现它使用==
运算符进行相等性检查。这实际上是如何工作的,并且StackOverflowException
在执行诸如"x" == "x"
或之类的操作时不会引起"x" == "y"
?
更新:我让JetBrains知道了,他们将其作为dotPeek的关键优先事项。https://youtrack.jetbrains.com/issue/DOTP-6789
我还在ILSpy的GitHub存储库中添加了一个问题。
a == b
),但在VB.NET中是正确的:a Is b
。