You could use char.IsDigit or char.IsNumber to check if it's a "number"(digit):
string input = Console.ReadLine(); int digitCount = input.Count(char.IsDigit); int letterCount = input.Length - digitCount;
You need to add using System.Linq to be able to use Enumerable.Count.
Since you now have asked for counting vowels. Vowels are a, e, i, o, u and their uppercase version. So you could use this method:
private static readonly HashSet<char> Vowels = new HashSet<char> { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' }; public static bool IsVowel(char c) => Vowels.Contains(c);
and this code to count the vowels:
int vowelCount = input.Count(IsVowel);
If you don't just want to count them but show them to the user:
string vowelsInInput = new String(input.Where(IsVowel).ToArray()); string noVowels = new String(input.Where(c => !IsVowel(c)).ToArray());
which also gives you the count(for example vowelsInInput.Length).