Ответ 1
Снято с msdn
Определяет, имеет ли этот экземпляр и указанный объект, который также должен быть объектом String, одинаковое значение.
string.Compare Сравнивает два заданных объекта String и возвращает целое число, которое указывает их относительное положение в порядке сортировки.
string.CompareTo Сравнивает этот экземпляр с указанным объектом или String и возвращает целое число, которое указывает, предшествует ли этот экземпляр, следует или появляется в той же позиции в порядке сортировки, что и указанный объект или строка.
string.CompareOrdinal Сравнивает два заданных объекта String, оценивая числовые значения соответствующих объектов Char в каждой строке.
Операторы равенства строк Предопределенные операторы равенства строк:
bool operator == (строка x, строка y); bool operator!= (строка x, строка y); Два строковых значения считаются равными, если выполняется одно из следующих значений:
Оба значения равны нулю. Оба значения представляют собой ненулевые ссылки на экземпляры строк, которые имеют одинаковые длины и одинаковые символы в каждой позиции символа. Операторы равенства строк сравнивают строковые значения, а не ссылки на строки. Когда два отдельных экземпляра строки содержат одну и ту же последовательность символов, значения строк равны, но ссылки разные. Как описано в разделе 7.9.6, операторы равенства ссылочного типа могут использоваться для сравнения строковых ссылок вместо строковых значений.