C#學習筆記

坚持梦想的蜗牛發表於2024-07-19

【持續更新】
【2024-07-19】 新建

  1. 物件初始化語句的執行總是在建構函式執行之後,如:
    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
  1. 如果堅持使用.NET類,就不需要為類編寫解構函式(如果使用了非託管資源,就必須要)

  2. readonly修飾符與const修飾符的區別

  • 前者在記憶體中有儲存位置,後者沒有
  • 前者可以是例項欄位也可以是靜態欄位,後面總是靜態的
  • 前者可以在執行時(僅建構函式)更改,後者不允許更改。
    總之,const 更像是c語言的宏定義; readonly 更像是c語言中的const
  1. 類的屬性欄位沒有儲存位置,其行為更像是方法,而不是欄位

相關文章