Jea*_*agr 1 c# title-case list
我想将所有列表项转换为TitleCase.我认为TitleCase很简单,但它似乎与大写或小写不一样.有任何想法吗?这适用于上下:
列出myList = new List(){"abc","DEF","Def","aBC"};
myList = myList.ConvertAll(x => x.ToUpper());
myList = myList.ConvertAll(x => x.ToLower());
Run Code Online (Sandbox Code Playgroud)
但这些都不起作用:
myList = myList.ConvertAll(x => x.ToTitleCase());
myList = myList.ConvertAll(x => x.TitleCase());
Run Code Online (Sandbox Code Playgroud)
使用TextInfo.ToTitleCase方法.
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();
Run Code Online (Sandbox Code Playgroud)
输出:
foreach (string str in myList)
Console.WriteLine(str);
Run Code Online (Sandbox Code Playgroud)
结果:
Abc
Def
Def
Abc
Run Code Online (Sandbox Code Playgroud)
编辑:
您可以使用ConvetAll:
myList = myList.ConvertAll(r => currentCulture.TextInfo.ToTitleCase(r.ToLower()));
Run Code Online (Sandbox Code Playgroud)