如何检查字符串是不是包含 List<string> 的任何元素?

Posted

技术标签:

【中文标题】如何检查字符串是不是包含 List<string> 的任何元素?【英文标题】:How to check if a string contains any element of a List<string>?如何检查字符串是否包含 List<string> 的任何元素? 【发布时间】:2012-08-31 00:54:22 【问题描述】:

我有一个 if 语句,我想检查一个字符串是否包含 list&lt;string&gt; 的任何项目。

if (str.Contains(list2.Any()) && str.Contains(ddl_language.SelectedValue))

    lstpdfList.Items.Add(str);

【问题讨论】:

【参考方案1】:

正确的表述是

list2.Any(s => str.Contains(s))

这被读作“list2 是否包含任何字符串s 使得str 包含s?”。

【讨论】:

如果下拉列表的选择值与列表中的项目相等,那么公式将如何? @user1597284:如果selectedValuestring,那么list2.Contains(selectedValue)。看看Enumerable 类及其提供的所有扩展方法。 在发现'str'包含's'后,有什么办法可以得到's'的值吗? @T-Dog 当然可以,但您必须更好地指定它。比如如果str中包含的列表中有多个ss会发生什么? 例如,如果将Any 替换为FirstOrDefault,则返回值将是包含在strnull 中的第一个s(如果不存在此类字符串)在列表中。【参考方案2】:

你可以用这个:

if (myList.Any(x => mystring.Contains(x)))
    // ....

【讨论】:

如果下拉列表的选择值与列表中的项目相等,那么公式将如何?

以上是关于如何检查字符串是不是包含 List<string> 的任何元素?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查arraylist中的数组是不是包含某个值?

如何检查字符串是不是具有列表中的子字符串?

检查 list<t> 是不是包含任何其他列表

检查 list<t> 是不是包含任何其他列表

如何判断List<String>list中是不是包含某个字符串

如何判断List<String>list中是不是包含某个字符串