学习C#并遇到障碍。
为什么这里不使用变量'number'?
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;
}
我一直收到警告,指出字段“号码”已分配但未使用。
答案 0 :(得分:3)
string number = this.serialNumber.Text;
此行创建一个新字符串。
尝试此操作以避免警告
公共部分类Form1:表单 {
static string labelText = ""; static string number = ""; public Form1() { InitializeComponent(); } private void serialNumber_TextChanged(object sender, EventArgs e) { number = this.serialNumber.Text; }
答案 1 :(得分:2)
string number
声明一个隐藏静态成员变量的新局部变量。
答案 2 :(得分:1)
在serialNumber_TextChanged
方法中,您声明了一个名为number
的本地变量。因此,如果这是您的完整代码,那么除了静态初始化之外,您实际上从未向Form1.number
分配任何内容。
答案 3 :(得分: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;
}
答案 4 :(得分:0)
这正是发生的事情:您正在为变量number
分配一个值,然后您不对该变量执行任何操作。
答案 5 :(得分:0)
首先,警告有效,并且与static
成员有关,实际上,serialNumber_TextChanged
成员已被分配并且从未使用过。 {{1}}中的那个是该方法的本地方法,根据定义,它是不同的。
这:“为什么不使用变量'数字'?”......我不明白。
答案 6 :(得分:0)
这是因为指令string
中的string number = this.serialNumber.Text;
,它声明了一个与类字段不同的新变量,尽管它具有相同的名称。删除string
修饰符,指令将引用已声明的类字段。