Hay varias formas de comparar cadenas. ¿Hay ganancias de rendimiento al hacer una manera sobre otra?Rendimiento de comparación de cadenas en C#
siempre he optado por comparar cadenas de este modo:
string name = "Bob Wazowski";
if (name.CompareTo("Jill Yearsley") == 0) {
// whatever...
}
Pero encuentro pocas personas que hacen esto, y en todo caso, veo más gente simplemente haciendo una comparación == recta, lo que a mi conocimiento es la peor forma de comparar cadenas. ¿Me equivoco?
Además, ¿hace una diferencia en cómo se comparan las cadenas dentro de las consultas LINQ? Por ejemplo, me gusta hacer lo siguiente:
var results = from names in ctx.Names
where names.FirstName.CompareTo("Bob Wazowski") == 0
select names;
Pero, de nuevo, veo pocas personas haciendo las comparaciones de cadenas como tal en sus consultas LINQ.
posible duplicado de [Las diferencias en la secuencia comparan métodos en C#] (http://stackoverflow.com/questions/44288/differences-in-string-compare-methods-in-c-sharp) – crowder
Es posible que desee para ver http://rhale78.wordpress.com/2011/05/16/string-equality-and-performance-in-c/ – nawfal