При создании больших таблиц важна скорость, поэтому вторая функция Джейми Диксона - лучшая, но она не работает полностью как есть ...
Он не принимает все буквы в нижнем регистре, а только заглавные буквы первой строки, а не первую букву каждого слова в строке ... опция ниже устраняет обе проблемы:
public string UppercaseFirstEach(string s)
{
char[] a = s.ToLower().ToCharArray();
for (int i = 0; i < a.Count(); i++ )
{
a[i] = i == 0 || a[i-1] == ' ' ? char.ToUpper(a[i]) : a[i];
}
return new string(a);
}
Хотя на данный момент, остается ли этот вариант самым быстрым, пока неизвестно, решение Regex
, предоставленное Джорджем Мауэром, может быть быстрее ... тот, кто заботится достаточно, должен его протестировать.