Bei der Untersuchung des String ==Bedieners habe ich festgestellt, dass er anruft String.Equals(string a, string b), was bedeutet, dass es sich nur um einen Durchgang handelt.
Wenn String.Equals(string a, string b)ich die Methode untersuche, sehe ich, dass sie eine Gleichheitsprüfung mit dem ==Operator durchführt. Wie funktioniert das eigentlich und verursacht keine, StackOverflowExceptionwenn man so etwas wie "x" == "x"oder macht "x" == "y"?
Update : Ich habe JetBrains informiert und sie haben es zu einer kritischen Priorität für dotPeek gemacht. https://youtrack.jetbrains.com/issue/DOTP-6789
Ich habe auch ein Problem im GitHub-Repo von ILSpy hinzugefügt.

a == b), in VB.NET jedoch korrekt :a Is b.