Вставка текста в начало текстового поля

Мне нужно вставить некоторый текст в качестве первого символа моего текстового поля при нажатии кнопки.

Вот что я пробовал:

private void btnInsert_Click(object sender, EventArgs e)
{
    txtMainView.Text.Insert(0, "TEST");
}

Это не вставляет текст, когда я нажимаю кнопку. Кто-нибудь знает, что я делаю неправильно?


person Nathan    schedule 31.07.2012    source источник


Ответы (2)


txtMainView.Text = txtMainView.Text.Insert(0, "TEST");

Строки неизменяемы в .NET Framework, поэтому каждая операция создает новый экземпляр, очевидно, не изменяет исходную строку!

Дополнительные сведения о классе String см. на странице MSDN Strings ( Руководство по программированию на C#)

person sll    schedule 31.07.2012
comment
Для удобочитаемости вы должны использовать txtMainView.Text = "text" + txtMainView.Text - person aikixd; 01.08.2012
comment
Ятрикс уже предлагал это, я просто указал на проблему в исходном коде, вырезанном и заметил о неизменности экземпляра String. - person sll; 01.08.2012
comment
Не видел вашего ответа. Виноват. - person aikixd; 01.08.2012

Обновление для С# 6+

txtMainView.Text = $"TEST{txtMainView.Text}";

Оригинал

Вы также можете пойти с

txtMainView.Text = "TEST" + txtMainView.Text; 

как альтернатива.

person Yatrix    schedule 31.07.2012