【发布时间】:2012-08-31 00:54:22
【问题描述】:
我有一个 if 语句,我想检查一个字符串是否包含 list<string> 的任何项目。
if (str.Contains(list2.Any()) && str.Contains(ddl_language.SelectedValue))
{
lstpdfList.Items.Add(str);
}
【问题讨论】:
我有一个 if 语句,我想检查一个字符串是否包含 list<string> 的任何项目。
if (str.Contains(list2.Any()) && str.Contains(ddl_language.SelectedValue))
{
lstpdfList.Items.Add(str);
}
【问题讨论】:
正确的表述是
list2.Any(s => str.Contains(s))
这被读作“list2 是否包含任何字符串s 使得str 包含s?”。
【讨论】:
selectedValue 是string,那么list2.Contains(selectedValue)。看看Enumerable 类及其提供的所有扩展方法。
str中包含的列表中有多个ss会发生什么?
Any 替换为FirstOrDefault,则返回值将是包含在str 或null 中的第一个s(如果不存在此类字符串)在列表中。
你可以用这个:
if (myList.Any(x => mystring.Contains(x)))
// ....
【讨论】: