C# LINQ计数字符外观
我希望使用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=新
// 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;