C# - 使用字符串包含字符串数组

时间:2014-08-25 14:26:51

标签: c# arrays string

我对C#,字符串和数组有疑问。 我在堆栈溢出时搜索了类似的问题,但找不到任何答案。

我的问题:

我有一个字符串数组,其中包含用于检查文件名的单词/ wordparts。如果数组中的所有这些字符串都匹配,则该单词为" good"。

String[] StringArray = new String[] { "wordpart1", "wordpart2", ".txt" };

现在我想检查所有这些字符串是否都是文件名的一部分。如果此结果为真,我想对此文件执行某些操作。 我怎么能这样做?

我已经尝试过不同的方法,但一切都不起作用。

e.Name.Contains(StringArray)

我想避免使用循环(for,foreach)来检查所有的字部分。这可能吗? 提前感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

  

现在我想检查所有这些字符串是否都是文件名的一部分。如果此结果为真,我想对此文件执行某些操作。我怎么能这样做?

感谢LINQ和方法组转化,可以像这样轻松完成:

bool check = StringArray.All(yourFileName.Contains);

答案 1 :(得分:2)

类似的问题:Using C# to check if string contains a string in string array

这使用LINQ:

if(stringArray.Any(stringToCheck.Contains))
     

这将检查stringToCheck是否包含来自的任何一个子字符串   字符串数组。如果你想确保它包含所有的   子串,将Any改为All:

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