Trong khi kiểm tra String ==toán tử, tôi nhận thấy rằng nó gọi String.Equals(string a, string b), nghĩa là nó chỉ là một giao dịch.
Kiểm tra String.Equals(string a, string b)phương thức, tôi thấy rằng nó thực hiện kiểm tra đẳng thức bằng cách sử dụng ==toán tử. Làm thế nào điều này thực sự hoạt động và không gây ra StackOverflowExceptionkhi làm một cái gì đó như "x" == "x"hoặc "x" == "y"?
Cập nhật : Tôi cho JetBrains biết và họ ưu tiên cho dotPeek. https://youtrack.jetbrains.com/su/DOTP-6789
Tôi cũng đã thêm một vấn đề trên repo GitHub của ILSpy.

a == b), nhưng chính xác trong VB.NET :a Is b.