而不是循环我的字符串我想使用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.
答案 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;