Прописные проблемы
Как я могу вывести это, когда я использую Replace и ToUpper в Visual Studio C#
Имя
Вот мой код:
private void button1_Click(object sender, EventArgs e)
{
string input;
input = comboBox1.Text;
input = input.Replace("_", "");
label1.Text = input.First().ToString().ToUpper()
+ String.Join("", input.Skip(1));
}
Выход всегда такой:
Имя
2 ответа
Если ввод "first_name", то это работает:
var text = "first_name";
text = String.Join("",
text
.Split('_')
.Where(x => !String.IsNullOrEmpty(x))
.Select(x => new string(
x
.Take(1)
.Select(c => char.ToUpperInvariant(c))
.Concat(x.Skip(1))
.ToArray())));
Этот код ниже получает первый символ (типа char) входной строки, затем преобразует его в строку и вводит первую букву в верхнем регистре:
input.First().ToString() + ...
в следующем сегменте вашего кода вы добавляете остаток строки с помощью разделителя строк emtpy с первой буквой:
... + String.Join("", input.Skip(1))
Поэтому, если вы хотите сделать все первые буквы заглавными, вы должны использовать LINQ, предоставленный Enigmativity.