Use TextInfo.ToTitleCase method.
List<string> myList = new List<string>() { "abc", "DEF", "Def", "aBC" };
CultureInfo currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture;
myList = myList.Select(r=> currentCulture.TextInfo.ToTitleCase(r.ToLower())).ToList();
output:
foreach (string str in myList)
Console.WriteLine(str);
Result:
Abc
Def
Def
Abc
EDIT:
You can use ConvetAll like:
myList = myList.ConvertAll(r => currentCulture.TextInfo.ToTitleCase(r.ToLower()));