判断字符串列表的元素是否包含子字符串

时间:2012-12-07 15:51:00

标签: c# string list substring

我有String的列表。

如何检查String列表中是否包含前缀为2#的字符串?

我看到了这个: Find substring in a list of strings

我尝试了以下内容:

if ((startId == item.ID.ToString())
       && (item.NextButtons.Contains(s => s.Contains("2#")))) ;
   {
     OK = false;
   }

2 个答案:

答案 0 :(得分:6)

如果我理解正确:

yourList.Any(s => s.Contains("2#"))

使用LINQ Any方法确定集合中的任何元素是否满足条件。

条件是一个lambda方法,它将列表中的每个string元素作为输入参数,并检查它是Contains字符串"2#"。它会在找到第一个之前执行此操作,然后返回truefalse

如果要返回实际字符​​串,可以使用FirstOrDefault方法而不是Any。然后它将返回字符串或null,如果没有找到。

编辑:如果2#必须在字符串的开头,请参阅@ Some1.Kill.The.DJ的答案。

答案 1 :(得分:3)

你想要2#在他们面前..

所以,它应该是

yourList.Any(s => s.StartsWith("2#"));
                    -----------