C#變量初始化問題:字段初始值無法引用非靜態字段、方法或屬性


問題:字段初始值設定項無法引用非靜態字段、方法或屬性的問題

下面代碼出錯的原因,在類中定義的字段為什么不能用?
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還沒被初始化,所以編譯會報錯。

屬性內存和變量內存的分配的時間不一樣。
屬性是用的時候分配,變量是在類初始化時候分配。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM