Durante l'esame String ==dell'operatore, ho notato che chiama String.Equals(string a, string b), il che significa che è solo un pass-through.
Esaminando il String.Equals(string a, string b)metodo, vedo che esegue un controllo di uguaglianza utilizzando l' ==operatore. In che modo funziona davvero e non causa problemi StackOverflowExceptionquando si fa qualcosa di simile "x" == "x"o "x" == "y"?
Aggiornamento : ho informato JetBrains e lo hanno reso una priorità fondamentale per dotPeek. https://youtrack.jetbrains.com/issue/DOTP-6789
Ho anche aggiunto un problema sul repository GitHub di ILSpy.

a == b), ma corretta in VB.NET:a Is b.