C# Check if string contains any matches in a string array
I really couldn't tell you if this is absolutely the fastest way, but one of the ways I have commonly done this is:
This will check if the string contains any of the strings from the array:
string[] myStrings = { "a", "b", "c" };string checkThis = "abc";if (myStrings.Any(checkThis.Contains)){ MessageBox.Show("checkThis contains a string from string array myStrings.");}
To check if the string contains all the strings (elements) of the array, simply change myStrings.Any
in the if statement to myStrings.All
.
I don't know what kind of application this is, but I often need to use:
if (myStrings.Any(checkThis.ToLowerInvariant().Contains))
So if you are checking to see user input, it won't matter, whether the user enters the string in CAPITAL letters, this could easily be reversed using ToLowerInvariant().
Hope this helped!