Alle elementari ci è stato detto più di una volta, e .NET ci aiuta anche in questo. Supponiamo di avere:
string mioNome = "alBeRto dAllAgiaComa";
con un semplice:
using System.Globalization;
Console.WriteLine(CultureInfo.CurrentCulture.TextInfo.ToTitleCase(mioNome));
avremo in output:
Alberto Dallagiacoma
Da documentazione MSDN, le stringhe interamente in maiuscolo (tipo acronimi) non vengono convertite.