2011-08-29 1 views
0

Возможные Дубликаты:
Capitalizing word in a string
Make first letter upper caseКак я могу сделать первый символ строки в верхнем регистре в C#?

У меня есть строка, как это:

var a = "this is a string"; 

Есть простой способ, что я могу сделать первое изменение символов в верхний регистр?

Это строка

+0

Ваш вопрос фактически ответил на другой вопрос: [Капитализация слово в строке] (http://stackoverflow.com/questions/417677/capitalizing-word-in-a-string) – Gabe

+0

@Gabe, это не обман, так как это первая буква в каждом слове. Однако этот вопрос, однако, см. Ссылку Драхакара. – paxdiablo

+0

@pax: Я имел в виду, что * сам вопрос имеет ответ на этот вопрос. Это не так хорошо, как ваше, но лучше, чем большинство ответов в ссылке Драхакара. – Gabe

ответ

6

Вы можете использовать следующий код:

if (!String.IsNullOrEmpty(a)) 
    a = Char.ToUpper(a[0]) + a.Substring(1); 

Если вы уверены, что строка не будет нулевой или пустой, вы можете отказаться от if заявления, а также но я предпочитаю программировать оборонительно.

0

Если вас не беспокоит тот факт, что строка является неизменной, вы можете вернуть новый экземпляр строки.

var a = "this is a string"; 
a = string.Format("{0}{1}", char.ToUpper(a[0]), a.Remove(0, 1)); 

Но, если вы собираетесь в конечном итоге нужно сделать больше строк манипуляции на то же значение, вы можете рассмотреть вопрос об использовании StringBuilder вместо этого.

var a = "this is a string"; 
StringBuilder builder = new StringBuilder(a); 
builder.Replace(a[0], char.ToUpper(a[0]), 0, 1); 
Смежные вопросы