【持續更新】
【2024-07-19】 新建
- 物件初始化語句的執行總是在建構函式執行之後,如:
class Point
{
public int X = 1;
public int Y = 2;
public Point(int x, int y)
{
X = x;
Y = y;
}
}
class Program
{
static void Main(string[] args)
{
Point p = new Point(3,4) {X = 5, Y = 6};
Console.WriteLine($"p.X = {p.X}, p.Y = {p.Y}");
}
}
// 輸出 p.X = 5, p.Y = 6
-
如果堅持使用.NET類,就不需要為類編寫解構函式(如果使用了非託管資源,就必須要)
-
readonly修飾符與const修飾符的區別
- 前者在記憶體中有儲存位置,後者沒有
- 前者可以是例項欄位也可以是靜態欄位,後面總是靜態的
- 前者可以在執行時(僅建構函式)更改,後者不允許更改。
總之,const 更像是c語言的宏定義; readonly 更像是c語言中的const
- 類的屬性欄位沒有儲存位置,其行為更像是方法,而不是欄位