如何检查一个字符串是否包含 List<string> 中的任何元素?

15

我有一个if语句,想要检查一个字符串是否包含 list<string> 中的任何一个元素。

if (str.Contains(list2.Any()) && str.Contains(ddl_language.SelectedValue))
{
    lstpdfList.Items.Add(str);
}
2个回答

54
正确的表述是:
list2.Any(s => str.Contains(s))

这句话的意思是:“是否存在 list2 中的任何一个字符串 s,使得 str 包含 s?”。


如果下拉列表的选定值与列表中的某个项相等,该公式将如何表达? - N K
如果selectedValue是一个字符串,则使用list2.Contains(selectedValue)。请查看Enumerable类及其提供的所有扩展方法。 - Jon
在找到“str”包含“s”后,有没有办法获取“s”的值? - T-Dog
@T-Dog 当然可以,但你需要更明确地指定。比如说,如果在str中包含多个列表中的s,会发生什么? - Jon
例如,如果您将“Any”替换为“FirstOrDefault”,则返回值将是包含在列表中的第一个“s”的字符串或null(如果列表中不存在这样的字符串)。 - Jon

3
你可以使用这个:
if (myList.Any(x => mystring.Contains(x)))
    // ....

如果下拉列表的选定值与列表中的某个项目相等,该公式应如何编写? - N K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接