public static string Capitalize(this string name)
{
if (string.IsNullOrEmpty(name))
return string.Empty;
var sb = new StringBuilder(name.Length);
bool nextUp = true;
foreach (char c in name)
{
if (nextUp)
{
sb.Append(Char.ToUpper(c));
nextUp = false;
} else
{
if (c == '_')
{
sb.Append(' ');
continue;
}
if (Char.IsUpper(c))
sb.Append(' ');
sb.Append(c);
}
}
return sb.ToString();
}