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

标签: 变量初始化
2772人阅读 评论(2) 收藏 举报
分类:

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

下面代码出错的原因,在类中定义的字段为什么不能用?
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还没被初始化,所以编译会报错。

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

查看评论

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

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

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

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

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

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

字段初始值无法引用非静态字段、方法

字段初始值设定项无法引用非静态字段、方法或属性   如 int i= 此值是用来初始化字段i的 不能使用非静态字段   [c-sharp] view plaincopypri...
  • yl_99
  • yl_99
  • 2013年01月06日 14:00
  • 5083

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

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

无效初始值错误

编译代码报错,提示信息为“错误:无效的初始值设定” 检查发现代码中定义了一个数组,如下: int array[10]=10; 初始化时只是赋值一个初值,并没有用括号括起来,所以才会报错,数组初始...
  • a1009563517
  • a1009563517
  • 2016年06月27日 10:30
  • 343

Unity技术积累

碰撞检测也可以用来检测鼠标点击。如何从一个脚本调用另一个脚本? getComponent()获取脚本,它还可以用来获取组件,比如getComponent()。获得的是一个对象的引用。如何解释Pref...
  • slwbcsdn
  • slwbcsdn
  • 2017年05月02日 18:13
  • 426

.net 非静态的字段、方法或属性 要求对象引用

vs中如果出现错误提示“非静态的字段、方法或属性要求对象引用”时说明该类的中方法没有static  不是静态的.有非静态的字段、方法或属性,要求该类必须实例化。1.实例化类为对象:classT sl=...
  • qq719365064
  • qq719365064
  • 2016年10月25日 17:44
  • 273

非静态的字段,方法或属性。。。。。。要求对象引用

遇到C# 报错 “非静态的字段、方法或属性 要求对象引用”,一开始以为要加上ref或者out, 结果试过也不行。百度易一下才发现是这是因为类的静态方法规定的,类中静态的方法、成员函数只能访问静态的数...
  • ITX2000
  • ITX2000
  • 2013年08月28日 08:36
  • 6985

CS0120: 非静态的字段、方法或属性“System.Web.UI.Page.Request.get”要求对象引用的解决办法

前台的页面 &MovID=>修改调用后台的代码public string strMovID=Request.QueryString["MovID"].ToString(); 出现错误CS0120: 非...
  • sendling
  • sendling
  • 2007年06月16日 21:36
  • 7279
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 257万+
    积分: 3万+
    排名: 134
    博客专栏
    最新评论
    文章存档