【发布时间】:2015-06-12 20:10:26
【问题描述】:
我想知道为什么我们不能这样做:
public partial class Form1 : Form
{
string b;
b = "something";
public Form1()
{
InitializeComponent();
}
但是我能够做到这一点:
public partial class Form1 : Form
{
string b = "something";
或
public partial class Form1 : Form
{
string b;
private void Form1_Load(object sender, EventArgs e)
{
b = "something";
}
我一直在寻找答案,为什么我们不能使用第一种方式。但是我还没有找到答案。
【问题讨论】:
-
b是与Form1类关联的字段,而不是通常意义上的变量。变量只能在方法、属性或构造函数中重新分配。我敢肯定有更多涉及 C# 语言规范的技术解释。 -
一步声明和初始化时,值作为声明的一部分赋值。正如@ryanyuyu 所说,
b= "something";是一个完整的语句,它在执行语句的正常结构之外。 -
'b = "某事";'是一个语句,并且语句不能存在于方法、属性或事件声明之外。你不能在你有它的地方拥有它,而且你不能在那里拥有
if声明。
标签: c# .net variables visual-studio-2012 variable-declaration