В зависимости от ситуации может потребоваться небольшое защитное программирование:
public static string FirstCharacterToLower(string str)
{
if (String.IsNullOrEmpty(str) || Char.IsLower(str, 0))
return str;
return Char.ToLowerInvariant(str[0]) + str.Substring(1);
}
Оператор if
также предотвращает построение новой строки, если она все равно не будет изменена.Возможно, вы захотите, чтобы метод завершился с ошибкой при нулевом вводе, и выкинули ArgumentNullException
.
Как уже упоминалось, использование String.Format
для этого является излишним.