我可以使用:"TextEntered.ToUpperInvariant().Contains("a")" 来计算字符串中的字符数吗?

Can I use: "TextEntered.ToUpperInvariant().Contains("a")" to count chars in a string?

我正在尝试计算用户输入的某个字符串中的元音。因此,如果用户通过 console.Readline(); 输入的句子中有 6 个 A,则控制台应该 return A=6。最终输出应该看起来有点像:

A =?  
I =?  
E =?  
O =?  
U =?

请注意,? 代表在字符串中检测到的元音数量。

我有几个想法,一步步来,比如标题中提到的“textEntered.ToUpperInvariant().Contains("a")”。这行得通吗?有人告诉我,每次检测到元音时,这可能 return 为真。如果是这样,我可以以增加计数的方式设置 true 吗?

我也曾尝试在 https://www.dotnetperls.com/count-characters 上找到解决方案,但这似乎没有所需的输出。

我认为最好的方法是以某种方式使用 foreach 循环来循环搜索字符!

如果没有,最有效的编码方式是什么?谢谢! (请记住,我是一名仍在掌握语言的学生,请多多关照!)

您可以使用计数:

int countOfA = textEntered.Count(x => x == 'a');

编辑:

int countOfA = textEntered.ToUpper().Count(x => x == 'A');