我对C#,字符串和数组有疑问。 我在堆栈溢出时搜索了类似的问题,但找不到任何答案。
我的问题:
我有一个字符串数组,其中包含用于检查文件名的单词/ wordparts。如果数组中的所有这些字符串都匹配,则该单词为" good"。
String[] StringArray = new String[] { "wordpart1", "wordpart2", ".txt" };
现在我想检查所有这些字符串是否都是文件名的一部分。如果此结果为真,我想对此文件执行某些操作。 我怎么能这样做?
我已经尝试过不同的方法,但一切都不起作用。
即
e.Name.Contains(StringArray)
等
我想避免使用循环(for,foreach)来检查所有的字部分。这可能吗? 提前感谢您的帮助。
答案 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)))