使用未分配的局部变量

时间:2014-09-16 17:31:16

标签: c# visual-studio-2013

我正在尝试让一个标签显示我的名字,然后在文本框中写下我的名字&然后单击按钮

enter image description here

每次运行我的代码时都会收到此错误:

  

使用未分配的局部变量'messageText'

//This button gets info from a Textbox
    private void BtnStrings_Click_1(object sender, EventArgs e)
    {
        //blz 47
        string firstName;
        string messageText;
        //Fix to my issue

        //==============================
        //Gets the text from the textbox
        //==============================

        firstName = textBox1.Text;

        //MessageBox.Show(messageText + firstName); 

        TextMessage.Text = messageText + firstName;
    }

Textmessage是我的标签,是在点击按钮

后显示我的名字的标签

任何帮助将不胜感激

5 个答案:

答案 0 :(得分:3)

您还没有为messageText分配任何内容。最简单的解决方法是:

messageText = "Your name is: ";

答案 1 :(得分:3)

它写下它写的确切内容:

string firstName; 
string messageText;
// for now both of them are "unussigned" - no any value ASSIGNED to them

firstName = textBox1.Text; //now firstname is ASSIGNED - it has certain VALUE
//but messageText still not

TextMessag.Text = messageText + firstName;
// compiler knows that firstName has value, but what is value of messageText???

要修复它,只需写:

string firstName = "";
string messageText ="";
// and they will be assigned

答案 2 :(得分:2)

您收到此错误的原因是因为您的变量messageText已声明但它没有值。使用语句

声明变量
string messageText;

只是为该变量分配资源,它实际上并没有为该变量赋值。

string messageText = "";

在上面的陈述中,我已经声明了变量,并且我也为它赋了一个值。我已经为它分配了一个空字符串的值。在为变量分配值之前,它只是“没有”'。空字符串是'某些东西,即使它是空的,它也可以在标签中显示为无文字。您必须先为变量赋值,然后才能显示它。

答案 3 :(得分:1)

试试这个

string firstName = string.empty;
string messageText = string.empty;

答案 4 :(得分:1)

只需将messageText设为空。

string messageText="";

然后使用,

TextMessage.Text = messageText + firstName;