Сравнение строк: оператор ==() vs. Equals()

Возможный дубликат:
С#: Операторы string.Equals() и == действительно такие же?

Для сравнения строк, какой подход лучше (и безопасен):

string s1="Sarfaraz";
string s2="Nawaz";

bool result1 = (s1==s2) ;//approach 1
bool result2 = s1.Equals(s2) ;//approach 2

Или оба одинаковы под капотом?

Ответы

Ответ 1

Мне нравится Equals(), потому что доступная опция StringComparison очень полезна.

Операторы == и != основаны на значении, поэтому они безопасны в использовании, хотя String является ссылочным типом.