LINQ计数字符外观

时间:2010-10-05 19:23:10

标签: c# linq

而不是循环我的字符串我想使用LINQ。如何做到以下几点?

//  explode our word
List<char> rackBag = new List<char>();
rackBag.AddRange("MYWORD??".ToCharArray());

// How many wildcards?
int wildCardCount = rackBag.Count(x => x.Equals("?"));

wildCardCount应该等于2.

4 个答案:

答案 0 :(得分:17)

那里有很多不必要的步骤。试试这个:

int wildCardCount = "MYWORD??".Count(x => x == '?');

答案 1 :(得分:6)

rackBag.Count(x => x == '?'); 

答案 2 :(得分:1)

int wildCardCount = rackBag.Count(x =&gt; x =='?');

答案 3 :(得分:0)

正则表达式是一种计算通配符数量的方法,可以替代使用Linq的建议。自从?字母表示正则表达式中的某些内容,我们必须在示例中对其进行转义(并使用逐字字符串@):

int howManyWildcards = Regex.Matches("MYWORD??", @"\?").Count;