在检查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。