я ищу, чтобы поместить значение из текстового поля, скажем, "12" в определенном месте в строковой переменной temp. Затем я хочу поместить другое значение после этого, скажем "10", но с: между ними, как время. Оба приходят из текстовых полей и проверяются, поэтому они могут быть только числами.
Вставить значение в строку в определенной позиции?
Ответ 1
Вы не можете изменять строки; они неизменны. Вы можете сделать это вместо:
txtBox.Text = txtBox.Text.Substring(0, i) + "TEXT" + txtBox.Text.Substring(i);
Ответ 2
Если вы просто хотите вставить значение в определенную позицию в строке, вы можете использовать метод String.Insert:
public string Insert(
int startIndex,
string value
)
Пример:
"abc".Insert(2, "XYZ") == "abXYZc"
Ответ 3
Если у вас есть строка, и вы знаете индекс, который хотите поместить в переменную строку, которую вы можете использовать:
string temp = temp.Substring(0,index) + textbox1.Text + ":" + textbox2.Text +temp.Substring(index);
Но если это простая строка, вы можете использовать ее следующим образом:
string temp = string.Format("your text goes here {0} rest of the text goes here : {1} , textBox1.Text , textBox2.Text ) ;"
Ответ 4
var sb = new StringBuilder();
sb.Append(beforeText);
sb.Insert(2, insertText);
afterText = sb.ToString();