0

学习 C# 并遇到障碍。

为什么这里不使用变量“数字”?

    public partial class Form1 : Form
    {

    static string labelText = "";
    static string number = "";

    public Form1()                                  
    {
        InitializeComponent();
    }

    private void serialNumber_TextChanged(object sender, EventArgs e)
    {
        string number = this.serialNumber.Text;
    }

我不断收到警告说“编号”字段已分配但未使用。

4

7 回答 7

3

string number = this.serialNumber.Text;此行创建一个新字符串。

试试这个以避免警告

公共部分类Form1:Form {

static string labelText = "";
static string number = "";

public Form1()                                  
{
    InitializeComponent();
}

private void serialNumber_TextChanged(object sender, EventArgs e)
{
    number = this.serialNumber.Text;
}
于 2013-05-31T14:12:47.420 回答
2

string number声明一个隐藏静态成员变量的新局部变量。

于 2013-05-31T14:13:19.033 回答
1

在您的方法serialNumber_TextChanged中,您声明了一个名为. 因此,如果这是您的完整代码,那么您实际上永远不会为静态初始化分配任何内容。numberForm1.number

于 2013-05-31T14:13:26.943 回答
1

更改这些行:

static string number = "";

private void serialNumber_TextChanged(object sender, EventArgs e)
{
    string number = this.serialNumber.Text;
}

private string number = "";

private void serialNumber_TextChanged(object sender, EventArgs e)
{
    number = this.serialNumber.Text;
}
于 2013-05-31T14:14:03.257 回答
0

发生这种情况是因为string在指令string number = this.serialNumber.Text;中声明了一个与类字段不同的新变量,尽管它具有相同的名称。删除string修饰符,指令将引用已声明的类字段。

于 2013-06-27T14:14:24.183 回答
0

这正是正在发生的事情:您正在为变量分配一个值number,然后您对该变量不做任何事情。

于 2013-05-31T14:12:48.707 回答
0

首先,警告是有效的,并且与static成员有关,实际上,该成员已分配且从未使用过。一个 inserialNumber_TextChanged是该方法的局部变量,并且根据定义,是不同的。

这:“为什么这里不使用变量'数字'?”......我不明白。

于 2013-05-31T14:13:48.483 回答