+ =符号在字符串和文本框中的差异

时间:2016-10-22 07:07:13

标签: c# string concatenation

很抱歉问这个愚蠢的问题。我有一个string msg+="hi";和一个按钮,可以使用标签打印该消息。

无论我按下按钮多少次,标签只显示“hi”一次。

另一件事是我有一个label1.text += textbox.text;,如果单击按钮,它会根据点击次数多次显示用户输入的消息。

有人可以解释一下,在字符串中存储邮件有什么区别,然后使用标签显示它,并使用标签直接显示。

string msg += "hi";
label1.text = msg;

output: hi
//button clicked many times but only one output

label1.text += textbox.text;
//that I input = hi!
//button I clicked 4 times
output = hi! hi! hi! hi!

2 个答案:

答案 0 :(得分:2)

在实际情况中string msg += "hi";会给出编译时错误。 让我们考虑一下:

string msg = string.Empty;
        msg = "hi";
        Label.Text += msg;

这也将取决于控制视图状态,如果设置为false,无论点击“嗨”的数量只会显示一次。 默认情况下,视图的控制状态设置为true。 文本框控件也是如此。

答案 1 :(得分:1)

当您按下按钮并调用使用

的方法时
  

string msg + =" hi&#34 ;;

你实际上仍然会创建新的msg实例并插入" hi"。

但是当你按下按钮并且你有文本框字符串" hi"并调用使用

的方法
  

label1.text + = textbox.text;

你没有实例化某些东西,你只需插入" hi"在label1.text。

之后的字符串之后

这是因为msg是局部变量而label1.text是全局变量(这就是为什么你不能一直实例化它)。