[C#]变量初始化问题:字段初始值无法引用非静态字段、方法或属性

原创 2016年07月16日 21:51:47

问题:字段初始值设定项无法引用非静态字段、方法或属性的问题

下面代码出错的原因,在类中定义的字段为什么不能用?
public class Test
{
public Test()
{
}
public int Age=23;
public int temp = Age;//ERROR 字段初始值设定项无法引用非静态字段、方法或属性
}

C#规定在类内部只能定义属性或者变量,并初始化,不能直接变量引用变量。

在初始化类实例之前就调用了字段

c# 中字段的初始化先于构造函数。

string y = “asdf” + x; 实际上是 y = “asdf” + this.x;

因为这时this还没被初始化,所以编译会报错。

属性内存和变量内存的分配的时间不一样。
属性是用的时候分配,变量是在类初始化时候分配。

版权声明:本文为博主原创文章,未经博主允许不得转载。

C# 类中变量初始化:字段初始值无法引用非静态字段、方法或属性

刚学习C#时,在类内定义变量时,经常会出现标题内容的问题,即字段初始值无法引用非静态字段、方法或属性。这是为什么呢?...
  • TinanBao
  • TinanBao
  • 2015年01月19日 16:35
  • 3148

C#变量初始化问题:字段初始值无法引用非静态字段、方法或属性

问题:字段初始值设定项无法引用非静态字段、方法或属性的问题 下面代码出错的原因,在类中定义的字段为什么不能用? public class Test {  public Test()  {  }  ...
  • lai123wei
  • lai123wei
  • 2016年06月04日 15:42
  • 1347

字段初始值设定项无法引用非静态字段、方法或属性

字段初始值设定项无法引用非静态字段、方法或属性 如int i= 此值是用来初始化字段i的 不能使用非静态字段 //错误int j=5;int i=j ; //此行报出此编译错误 正确int i=5 ...
  • unling
  • unling
  • 2010年04月17日 14:59
  • 3372

VS提示“非静态的字段、方法或属性要求对象引用”

VS提示“非静态的字段、方法或属性要求对象引用”时说明该类的中方法没有STATIC不是静态的.有非静态的字段、方法或属性,要求该类必须实例化。即:classA a=new classA();再a.f(...
  • jing_xin
  • jing_xin
  • 2008年05月29日 16:29
  • 12266

C# 类中变量初始化:字段初始值无法引用非静态字段、方法或属性

刚学习C#时,在类内定义变量时,经常会出现标题内容的问题,即字段初始值无法引用非静态字段、方法或属性。这是为什么呢?...
  • TinanBao
  • TinanBao
  • 2015年01月19日 16:35
  • 3148

c# 为什么结构中不能有实例字段初始设定值项

结构声明在 栈区 类声明在堆区 人们在操作计算机的时候只能操作栈区 那这样说怎么操作类呢? 就是在堆区的类 在栈区有一个地址 所以我们可以操作这个地址 而间接的操作类. 弄清楚这个概念后 就是结构和类...
  • tdjie
  • tdjie
  • 2016年03月30日 16:59
  • 1229

C++学习——静态对象的初始化问题

我们设工程中有一个头文件depend.h, 在该头文件中我们声明了一个类——initial, 同是定义了一个initial类的静态对象——static initial init。代码如下所示:////...
  • zxj1988
  • zxj1988
  • 2011年05月22日 02:24
  • 2480

C#实例字段、静态字段、只读字段、常量字段。

用修饰符static声明的字段为静态字段。不管包含该静态字段的类生成多少个对象或根本无对象,该字段都只有一个实例,静态字段不能被撤销。必须采用如下方法引用静态字段:类名.静态字段名。      ...
  • itgzr
  • itgzr
  • 2012年04月09日 10:49
  • 2986

【C#】-属性(Property)和字段(Field)的区别

导读:
  • zt15732625878
  • zt15732625878
  • 2016年02月21日 20:50
  • 4038

unity3d 之 在Unity3D中使用静态变量

下面的示例解释了为Unity3D引擎编写脚本的时候如何来使用静态变量.本文示例的脚本使用C#编写,同样的适用于javascript。  在深入主题之前,必须要清楚地是我们应该尽量避免使用静态变量,有大...
  • WS1347913745
  • WS1347913745
  • 2013年07月16日 10:30
  • 12073
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[C#]变量初始化问题:字段初始值无法引用非静态字段、方法或属性
举报原因:
原因补充:

(最多只允许输入30个字)