Вот несколько вариантов
Опция .NET 4 only с использованием string.Join:
string acronym = string.Join(string.Empty,
input.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries).Select(s => s[0])
);
В .NET 3.5 (или 4.0) вы можете сделать:
string acronym = new string(input.Split(new[] {' '},
stringSplitOptions.RemoveEmptyEntries).Select(s => s[0]).ToArray());
Другой вариант (мой личный выбор), основанный на вашей оригинальной логике:
string acronym = new string(
input.Where( (c,i) => c != ' ' && (i == 0 || input[i-1] == ' ') )
.ToArray()
);