The*_*max 266 c# arrays string search
我想使用C#来检查字符串值是否包含字符串数组中的单词.例如,
string stringToCheck = "text1text2text3";
string[] stringArray = { "text1", "someothertext", etc... };
if(stringToCheck.contains stringArray) //one of the items?
{
}
如何检查'stringToCheck'的字符串值是否包含数组中的单词?
Ant*_*lev 799
这是如何做:
if(stringArray.Any(stringToCheck.Contains))
/* or a bit longer: (stringArray.Any(s => stringToCheck.Contains(s))) */
这将检查是否stringToCheck包含任何一个子字符串stringArray.如果要确保它包含所有子字符串,请更改Any为All:
if(stringArray.All(stringToCheck.Contains))
Abd*_*oof 134
这是你如何做到的:
string stringToCheck = "text1";
string[] stringArray = { "text1", "testtest", "test1test2", "test2text1" };
foreach (string x in stringArray)
{
    if (stringToCheck.Contains(x))
    {
        // Process...
    }
}
更新:可能您正在寻找更好的解决方案..请参阅下面的@Anton Gogolev的答案,其中使用了LINQ.
小智 39
无需使用LINQ
if (Array.IndexOf(array, Value) >= 0)
{
    //Your stuff goes here
}
Leg*_*s21 37
只需使用linq方法:
stringArray.Contains(stringToCheck)
(抱歉无法在现有答案上添加评论,因为我的声誉<50)
最简单和样本方式.
  bool bol=Array.Exists(stringarray,E => E == stringtocheck);
小智 6
string strName = "vernie";
string[] strNamesArray = { "roger", "vernie", "joel" };
if (strNamesArray.Any(x => x == strName))
{
   // do some action here if true...
}
也许这样的东西:
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!");
}
| 归档时间: | 
 | 
| 查看次数: | 519221 次 | 
| 最近记录: |