Простой подход состоит в том, чтобы просто использовать Split
и получить Length
полученного массива
Разбивает строку на подстроки на основе на символы в массиве. Вы можете указать, включают ли подстроки пустые элементы массива.
string sentence = Console.ReadLine();
var array= sentence.Split(new []{' '},StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(array.Length);
Однако это зависит от того, что вы классифицируете как слово. Т.е. число есть слово?.