[Solved] Counting number of vowels in a string


You have this in your code:

const string vowels = "aeiou";
return value.Count(chr => vowels.Contains(char.ToLower(chr)));

That works, at least if your culture is US. So no idea why you commented it out in favor of the current monstrosity.

On a Turkish locale it will fail because the lower case of I is not i but ı (undotted). So if you define vowels as aeiouAEIOU you should use ToLowerInvariant.

But if you want to include other vowels (like Ä) I have no idea how to do that except by listing all the characters.

Full implementation:

int CountVowels(string value)
{
    const string vowels = "aeiou";
    return value.Count(chr => vowels.Contains(char.ToLowerInvariant(chr)));
}

Looks like you got the good code part from:
Counting vowels using switch

6

solved Counting number of vowels in a string