2011-01-28 12 views

Odpowiedz

21

Nie można modyfikować ciągów; są niezmienne. Można to zrobić w zamian:

txtBox.Text = txtBox.Text.Substring(0, i) + "TEXT" + txtBox.Text.Substring(i); 
+0

który powinien działać. Nie mogę po prostu przejść do "temp = txtb.Text +": "+ txta.Text;" ? –

+0

Och, z pewnością możesz. Po prostu nie można zmodyfikować oryginalnego napisu. – Mehrdad

+0

Ah mam. Dziękuję Panu. –

6

Jeśli masz ciąg i wiesz indeks chcesz umieścić dwie zmienne w łańcuchu można użyć:

string temp = temp.Substring(0,index) + textbox1.Text + ":" + textbox2.Text +temp.Substring(index); 

Ale jeśli jest to proste linia może go używać w ten sposób:

string temp = string.Format("your text goes here {0} rest of the text goes here : {1} , textBox1.Text , textBox2.Text) ;" 
33

Jeśli chcesz po prostu wstawić wartość w pewnej pozycji w łańcuchu, można użyć metody String.Insert:

public string Insert(
    int startIndex, 
    string value 
) 

przykład:

"abc".Insert(2, "XYZ") == "abXYZc" 
+2

Powinieneś tu zauważyć, że to nie wstawia tego w łańcuchu, do którego go wywołujesz. Metoda zwraca inny ciąg z określonym tekstem dodanym w tym indeksie, ale nie modyfikuje oryginalnego łańcucha. – Grungondola

+1

Poprawne użycie to: string Text = "abc"; Text = Text.Insert (2, "XYZ"); – Paulo

Powiązane problemy