C# LINQ计数字符外观

C# LINQ计数字符外观,c#,linq,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("?")); //把我们的话炸开 列表rackBag=新

我希望使用LINQ,而不是在字符串上循环。如何做到以下几点

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

// How many wildcards?
int wildCardCount = rackBag.Count(x => x.Equals("?"));
//把我们的话炸开
列表rackBag=新列表();
rackBag.AddRange(“MYWORD???”.ToCharArray());
//有多少个通配符?
int wildCardCount=rackBag.Count(x=>x.Equals(“?”);

wildCardCount应该等于2。

int wildCardCount=rackBag.Count(x=>x='?')

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

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

Regex是一种计算通配符数量的可能方法,可以替代使用Linq的建议。从那以后?字母在正则表达式中的含义,我们必须在示例中转义它(并使用逐字字符串@):


犯错误你已经在使用linq了,不是吗?我在使用,但是因为双引号,它不起作用。我暗示不要给我for()解决方案,因为
x
char
,它不等于
字符串
“?”
int howManyWildcards = Regex.Matches("MYWORD??", @"\?").Count;