小白请教个C#语法问题。

protected void Button1_Click(object sender, EventArgs e)
{
char[] ca;
ca = TextBox3.Text.ToCharArray();
for (int i = 0; i < ca.Length; i++)
{
TextBox4.Text += ca[i].ToString() + "\n";
}
}
上面一个拆分数组的代码。我想问为什么TextBox4.Text += ca[i].ToString() + "\n";必须要在=前面加个+。我试验过,不加的话会出错,比如拆分ABCD 不加最后只显示D,加了就显示
A
B
C
D
是什么原因呢?

TextBox4.Text += ca[i].ToString() + "\n";
相当于
TextBox4.Text = TextBox4.Text + a[i].ToString() + "\n";
把之前的文本带上,否则只有最后一个了。

当然了,就你的代码来说,最简单的实现是
protected void Button1_Click(object sender, EventArgs e)
{
textBox4.Text = string.Join("\n", textBox3.Text.ToArray());
}

顶楼上的,如果不加“+”的话根据循环条件会输出最后一个,也就是D

=为重新赋值
+=为保留原值的基础上,添加新值。

它的意思就是
TextBox4.Text = TextBox4.Text+ca[i].ToString() + "\n"; 你可以这样理解