382 votes

En utilisant c# pour vérifier si la chaîne contient une chaîne en tableau de chaînes

Je veux utiliser C # pour vérifier si une valeur de chaîne contient un mot dans un tableau de chaînes. Par exemple,

 string stringToCheck = "text1text2text3";

string[] stringArray = ("text1", etc... )

if(stringToCheck.contains stringArray( //one of the items?
{

}
 

Comment puis-je vérifier si la valeur de chaîne pour 'stringToCheck' contient un mot dans le tableau de chaînes?

Merci,

993voto

Anton Gogolev Points 59794

Voici comment:

 if(stringArray.Any(stringToCheck.Contains))
 

Cela vérifie si stringToCheck contient l'une des sous-chaînes de stringArray . Si vous voulez vous assurer qu'il contient toutes les sous-chaînes, modifiez Any à All :

 if(stringArray.All(s => stringToCheck.Contains(s)))
 

183voto

Abdel Olakara Points 11016

voici comment vous pouvez le faire:

 string stringToCheck = "text1";
string[] stringArray = { "text1", "testtest", "test1test2", "test2text1" };
foreach (string x in stringArray)
{
    if (x.Contains(stringToCheck))
    {
        // Process...
    }
}
 

52voto

Maitrey684 Points 101

Essaye ça:

Pas besoin d'utiliser LINQ

 if (Array.IndexOf(array, Value) >= 0)
{
    //Your stuff goes here
}
 

4voto

Fredrik Johansson Points 1982

Quelque chose comme ça peut-être:

 string stringToCheck = "text1text2text3";
string[] stringArray = new string[] { "text1" };
if (Array.Exists<string>(stringArray, (Predicate<string>)delegate(string s) { 
    return stringToCheck.IndexOf(s, StringComparison.OrdinalIgnoreCase) > -1; })) {
    Console.WriteLine("Found!");
}
 

3voto

STi88 Points 378

Utiliser Linq et le groupe de méthodes serait la manière la plus rapide et la plus compacte de le faire.

 var arrayA = new[] {"element1", "element2"};
var arrayB = new[] {"element2", "element3"};
if (arrayB.Any(arrayA.Contains)) return true;
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X