如何检查字符串是不是包含 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<string>
的任何项目。
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:如果selectedValue
是string
,那么list2.Contains(selectedValue)
。看看Enumerable
类及其提供的所有扩展方法。
在发现'str'包含's'后,有什么办法可以得到's'的值吗?
@T-Dog 当然可以,但您必须更好地指定它。比如如果str
中包含的列表中有多个s
s会发生什么?
例如,如果将Any
替换为FirstOrDefault
,则返回值将是包含在str
或null
中的第一个s
(如果不存在此类字符串)在列表中。【参考方案2】:
你可以用这个:
if (myList.Any(x => mystring.Contains(x)))
// ....
【讨论】:
如果下拉列表的选择值与列表中的项目相等,那么公式将如何?以上是关于如何检查字符串是不是包含 List<string> 的任何元素?的主要内容,如果未能解决你的问题,请参考以下文章