In some languages (e.g. C++) you can\'t use operators like == for string comparisons as that would compare the address of the string object, and not the string itself. Howev
I wouldn't use:
aa.Equals(bb)
unless I knew aa
couldn't possibly be null. I might use:
string.Equals(aa,bb)
But I'd mainly use that it I wanted to use one of the specific StringComparison
modes (invariant, ordinal, case-insensitive, etc). Although I might also use the StringComparer
implementations, since they are a bit easier to abstract (for example, to pass into a Dictionary
for a case-insensitive ordinal dictionary). For general purpose usage,
a == b
is fine.