Despite String
is a reference type ==
operator compares string values rather than references.
As you may know string
is just an array of characters. But if you think that strings equality check and comparison is made character by character, you are mistaken. This operation is culture specific (see Remarks below): some character sequences can be treated as equal depending on the culture.
Think twice before short circuiting equality check by comparing Length
properties of two strings!
Use overloads of String.Equals
method which accept additional StringComparison
enumeration value, if you need to change default behavior.