Существует ряд способов сравнения строк. Есть ли выигрыш в производительности, делая один путь над другим?Сравнение производительности строк в C#
Я всегда выбирал для сравнения строк, как так:
string name = "Bob Wazowski";
if (name.CompareTo("Jill Yearsley") == 0) {
// whatever...
}
Но я нахожу мало людей делают это, и если что-нибудь, я вижу больше людей просто делают прямую сравнения ==, что к моему знанию это худший способ сравнить строки. Я ошибаюсь?
Кроме того, имеет ли значение то, как сравнивать строки в запросах LINQ? Например, я хотел бы сделать следующее:
var results = from names in ctx.Names
where names.FirstName.CompareTo("Bob Wazowski") == 0
select names;
Но опять же, я вижу, мало кто делает сравнение строк как и в своих запросах LINQ.
возможно дубликат [Различия в строку сравнить методы в C#] (http://stackoverflow.com/questions/44288/differences-in-string-compare-methods-in-c-sharp) – crowder
Вы можете посмотреть http://rhale78.wordpress.com/2011/05/16/string-equality-and-performance-in-c/ – nawfal