http://www.cnblogs.com/bluestorm/p/3432190.html
問題:字段初始值設定項無法引用非靜態字段、方法或屬性的問題
下面代碼出錯的原因,在類中定義的字段為什麼不能用?
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還沒被初始化,所以編譯會報錯。
屬性內存和變量內存的分配的時間不一樣。
屬性是用的時候分配,變量是在類初始化時候分配。