【求教】字段初始值无法引用非静态字段、方法的问题
为什么
class a
{
int i= 4;
int j = i;//提示错误,字段初始值无法引用非静态字段、方法....
public void test()
{
//这里就可以
int q=4;
int p=q;
}
}
另外在Java里,就没有以上的错误提示,谢谢高人指点
Java C# 类
[解决办法]
因为初始化的时候顺序会和你代码有差异,这样就会有问题。
你把对应代码放到构造函数中就没有问题了。
[解决办法]
http://msdn.microsoft.com/zh-cn/library/vstudio/83fhsxwc.aspx
注意规定了语法规则:请记住:在 C# 中不允许使用未初始化的变量。
这样规定是有理由的。当然如果你不“领情”,那么可以不用c#。
[解决办法]
class a
{
int i;
public void test()
{
i = 4;
.......其它语句。
}
}
static int i;
int j = i;
static a()
{
i = 0;
}
protected a()
{
j= i;
}