visual mayusculas importar ejemplos diferente comparar cadenas c# .net string-comparison

mayusculas - string.compare c#



¿Cuál es la diferencia entre diferentes métodos de comparación de cadenas (1)

Arrancado de msdn

string.Equals

Determina si esta instancia y un objeto especificado, que también debe ser un objeto String, tienen el mismo valor.

string.Compare Compara dos objetos String especificados y devuelve un entero que indica su posición relativa en el orden de clasificación.

string.CompareTo Compara esta instancia con un objeto especificado o Cadena y devuelve un entero que indica si esta instancia precede, sigue o aparece en la misma posición en el orden de clasificación que el objeto o Cadena especificados.

string.CompareOrdinal Compara dos objetos String especificados al evaluar los valores numéricos de los objetos Char correspondientes en cada string.

Operadores de igualdad de cadenas Los operadores de igualdad de cadenas predefinidos son:

bool operator == (string x, string y); bool operator! = (cadena x, cadena y); Dos valores de cadena se consideran iguales cuando uno de los siguientes es verdadero:

Ambos valores son nulos. Ambos valores son referencias no nulas a instancias de cadena que tienen longitudes idénticas y caracteres idénticos en cada posición de carácter. Los operadores de igualdad de cadenas comparan los valores de cadena en lugar de las referencias de cadena. Cuando dos instancias de cadena separadas contienen la misma secuencia exacta de caracteres, los valores de las cadenas son iguales, pero las referencias son diferentes. Como se describe en la Sección 7.9.6, los operadores de igualdad de tipo de referencia se pueden usar para comparar referencias de cadena en lugar de valores de cadena.

Posible duplicado:
Diferencias en los métodos de comparación de cadenas en C #

En .NET hay muchos métodos de comparación de cadenas, solo quiero confirmar cuál es el mejor para usar considerando el rendimiento.

string.Equals() string.Compare() string.CompareTo() string.CompareOrdinal() string.ReferenceEquals() if (str1 == str2)