Как указано edg, вам понадобится более сложный алгоритм для обработки специальных имен (вероятно, поэтому многие места заставляют все в верхнем регистре).
Что-то вроде этого непроверенного c # должно обрабатывать простой случай вы запросили:
public string SentenceCase(string input)
{
return input(0, 1).ToUpper + input.Substring(1).ToLower;
}