【问题标题】: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);
}

【问题讨论】:

    标签: c# string list contains


    【解决方案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)))
        // ....
    

    【讨论】:

    • 如果下拉列表的选择值与列表中的项目相等,那么公式将如何?
    猜你喜欢
    • 2011-12-07
    • 2013-03-14
    • 2016-09-16
    • 2015-08-07
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    相关资源
    最近更新 更多