Мне нравится этот путь:
using System.Globalization; ... TextInfo myTi = new CultureInfo("en-Us",false).TextInfo; string raw = "THIS IS ALL CAPS"; string firstCapOnly = myTi.ToTitleCase(raw.ToLower());
Поднят из этой статьи MSDN .