如何使用linq在C#中制作一个控制台应用程序来计算句子中的元音

如何使用linq在C#中制作一个控制台应用程序来计算句子中的元音,c#,linq,C#,Linq,我正在尝试制作一个程序来计算一个句子中元音的数量,但看起来它可以很容易地用Linq实现。但我对此一无所知。 请帮助我或提供一些链接 谢谢,那绝对容易。你只需要依次取下每个字母,看看它是否在另一组字母中。幸运的是,string实现了IEnumerable,因此在LINQ中轮流使用每个字符是很自然的 Enumerable.Count方法有一个接受谓词的重载—它返回序列中与谓词匹配的项数。然后你只需要算出一个谓词,意思是“这个字符是元音吗?”。使用string.Contains(char)是最简单的方

我正在尝试制作一个程序来计算一个句子中元音的数量,但看起来它可以很容易地用Linq实现。但我对此一无所知。 请帮助我或提供一些链接


谢谢,

那绝对容易。你只需要依次取下每个字母,看看它是否在另一组字母中。幸运的是,string实现了
IEnumerable
,因此在LINQ中轮流使用每个字符是很自然的

Enumerable.Count
方法有一个接受谓词的重载—它返回序列中与谓词匹配的项数。然后你只需要算出一个谓词,意思是“这个字符是元音吗?”。使用
string.Contains(char)
是最简单的方法

这可以做到:

int count = sentence.Count(c => "AEIOUaeiou".Contains(c));

啊,是的,这在美国是有效的。我们其他人呢?字母是否是元音取决于你来自哪里:)在丹麦,“Y”是元音,“Æ”、“Ø”和“Å”FWIW也是元音:
int count=句子。ToLower().count(c=>“aeiou”。Contains(c))但这只是我的挑剔:我是一个基本的学习者,不理解这一切的意义。你能举个例子再解释一下吗。在英语中,y是单词Yellow中的辅音,但却是单词Sky中的元音。@Ashutosh:哪一位你不懂?你需要在没有{a,E,I,O,U}的单词中计算“y”吗?不。所有元音的出现。