ejemplo - string.equals c#
La forma más rápida de comparar una cadena con una matriz de cadenas en C#2.0 (4)
¿Qué tipo de comparación quieres? ¿Quieres saber si la cadena dada está en la matriz?
bool targetStringInArray = array.Contains(targetString);
¿Quieres una matriz de valores de comparación (positivo, negativo, cero)?
var comparisons = array.Select(x => targetString.CompareTo(x));
Si está verificando la contención (es decir, la primera opción) y va a hacer esto con varias cadenas, probablemente sería mejor crear una HashSet<string>
desde la matriz:
var stringSet = new HashSet<string>(array);
if (stringSet.Contains(firstString)) ...
if (stringSet.Contains(secondString)) ...
if (stringSet.Contains(thirdString)) ...
if (stringSet.Contains(fourthString)) ...
¿Cuál es la forma más rápida de comparar una cadena con una matriz de cadenas en C # 2.0?
¿Quieres ver si la cadena está en la matriz? No puedo recordar si las matrices son compatibles con el método .Contains (), de lo contrario, cree una Lista <cadena>, agregue su matriz a la lista mediante AddRange (), luego llame a list.Contains ({string to compare}). Devolverá un valor booleano que indica si la cadena está o no en la matriz.
// obtener los datos en la lista de la fuente Lista de verificación = Directory.GetFiles (SourcePath, " . ", SearchOption.AllDirectories) .Where (x => x.ToLower (). EndsWith ("apk")). ToList ();
//get date from a text file
List<string> ls = ReadFile();
foreach(string file in checklist)
{
//get file name
string filename = Path.GetFileName(file);
string TargetLocation = Path.Combine(TargetPath, filename);
//now compare single string to a list
//it give in true and false
if(ls.Contains(filename))
{
//do your task
//File.Copy(file, TargetLocation);
}
}
Si está haciendo esto muchas veces con una sola matriz, debe ordenar la matriz y buscarla en binario:
Array.Sort(array);
int index = Array.BinarySearch(array, input);
// if (index < 0)
// does not exists, "items > ~index" are larger and "< ~index" are smaller
// otherwise, "items > index" are larger and "< index" are smaller.
De lo contrario, simplemente compruebe toda la matriz ingenuamente:
bool exists = Array.IndexOf(array, input) >= 0;