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 StackOverflowException
khi 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
.