亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

深入探討C#中的結(jié)構(gòu)struct

 更新時間:2013年09月30日 14:59:43   作者:  
這篇文章詳細介紹了C#中的結(jié)構(gòu)struct,有需要的朋友可以參考一下

一、結(jié)構(gòu)和類的區(qū)別

1、結(jié)構(gòu)的級別和類一致,寫在命名空間下面,可以定義字段、屬性、方法、構(gòu)造方法也可以通過關(guān)鍵字new創(chuàng)建對象。

2、結(jié)構(gòu)中的字段不能賦初始值。

3、無參數(shù)的構(gòu)造函數(shù)無論如何C#編譯器都會自動生成,所以不能為結(jié)構(gòu)定義一個無參構(gòu)造函數(shù)。

4、在構(gòu)造函數(shù)中,必須給結(jié)構(gòu)體的所有字段賦值。

5、在構(gòu)造函數(shù)中,為屬性賦值,不認為是對字段賦值,因為屬性不一定是去操作字段。

6、結(jié)構(gòu)是值類型,在傳遞結(jié)構(gòu)變量的時候,會將結(jié)構(gòu)對象里的每一個字段復(fù)制一份拷貝到新的結(jié)構(gòu)變量的字段中。

7、不能定義自動屬性,因為字段屬性會生成一個字段,而這個字段必須要求在構(gòu)造函數(shù)中,但我們不知道這個字段叫什么名字。

8、聲明結(jié)構(gòu)體對象,可以不使用new關(guān)鍵字,但是這個時候,結(jié)構(gòu)體對象的字段沒有初始值,因為沒有調(diào)用構(gòu)造函數(shù),構(gòu)造函數(shù)中必須為字段賦值,所以,通過new關(guān)鍵字創(chuàng)建結(jié)構(gòu)體對象,這個對象的字段就有默認值。

9、棧的訪問速度快,但空間小,堆的訪問速度慢,但空間大,當我們要表示一個輕量級的對象的時候,就定義為結(jié)構(gòu),以提高速度,根據(jù)傳至的影響來選擇,希望傳引用,則定義為類,傳拷貝,則定義為結(jié)構(gòu)。

二、Demo

復(fù)制代碼 代碼如下:

struct Point
    {
        public Program p;
        private int x;

        public int X
        {
            get { return x; }
            set { x = value; }
        }
        private int y;

        public int Y
        {
            get { return y; }
            set { y = value; }
        }
        public void Show()
        {
            Console.Write("X={0},Y={1}", this.X, this.Y);
        }
        public Point(int x,int y)
        {
            this.x = x;
            this.y = y;
            this.p = null;
        }
        public Point(int x)
        {
            this.x = x;
            this.y = 11;
            this.p = null;
        }
        public Point(int x, int y, Program p)
        {
            this.x = x;
            this.y = y;
            this.p = p;
        }
    }
    class Program
    {
        public string Name { get; set; }
        static void Main(string[] args)
        {
            //Point p = new Point();
            //p.X = 120;
            //p.Y = 100;
            //Point p1 = p;
            //p1.X = 190;
            //Console.WriteLine(p.X);

            //Point p;
            //p.X = 12;//不賦值就會報錯
            //Console.WriteLine(p.X);
            //Point p1 = new Point();
            //Console.WriteLine(p1.X);//此處不賦值不會報錯,原因見區(qū)別8

            Program p = new Program() { Name="小花"};
            Point point1 = new Point(10, 10, p);
            Point point2 = point1;
            point2.p.Name = "小明";
            Console.WriteLine(point1.p.Name);//結(jié)果為小明,分析見下圖
        }
    }

相關(guān)文章

  • C#中winform中panel重疊無法顯示問題的解決

    C#中winform中panel重疊無法顯示問題的解決

    這篇文章主要介紹了C#中winform中panel重疊無法顯示問題的解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-10-10
  • 基于WPF實現(xiàn)蒙板控件的示例代碼

    基于WPF實現(xiàn)蒙板控件的示例代碼

    這篇文章主要為大家詳細介紹了WPF實現(xiàn)蒙板控件,文中的示例代碼講解詳細,對我們學(xué)習或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-03-03
  • C#調(diào)用halcon實現(xiàn)使用鼠標滾輪對圖片進行縮放顯示

    C#調(diào)用halcon實現(xiàn)使用鼠標滾輪對圖片進行縮放顯示

    這篇文章主要為大家詳細介紹了C#如何調(diào)用halcon實現(xiàn)使用鼠標滾輪對圖片進行縮放顯示,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2024-03-03
  • Unity實現(xiàn)3D循環(huán)滾動效果

    Unity實現(xiàn)3D循環(huán)滾動效果

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)3D循環(huán)滾動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#實現(xiàn)密碼驗證與輸錯密碼賬戶鎖定

    C#實現(xiàn)密碼驗證與輸錯密碼賬戶鎖定

    這篇文章介紹了C#實現(xiàn)密碼驗證與輸錯密碼賬戶鎖定的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#值類型、引用類型中的Equals和==的區(qū)別淺析

    C#值類型、引用類型中的Equals和==的區(qū)別淺析

    這篇文章主要介紹了C#值類型、引用類型中的Equals和==的區(qū)別淺析,本文分別對C#值類型和引用類型中的Equals和==做了講解和給出了實例,需要的朋友可以參考下
    2015-01-01
  • C# WinForm國際化實現(xiàn)的簡單方法

    C# WinForm國際化實現(xiàn)的簡單方法

    這篇文章主要介紹了C# WinForm國際化實現(xiàn)的簡單方法,有需要的朋友可以參考一下
    2014-01-01
  • C#裝箱與拆箱操作的深入講解

    C#裝箱與拆箱操作的深入講解

    這篇文章主要給大家介紹了關(guān)于C#裝箱與拆箱操作的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學(xué)習或者使用C#具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧
    2019-03-03
  • C# 操作Excel代碼總結(jié)

    C# 操作Excel代碼總結(jié)

    這篇文章主要介紹了C# 操作Excel代碼總結(jié),具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Unity實現(xiàn)仿3D輪轉(zhuǎn)圖效果

    Unity實現(xiàn)仿3D輪轉(zhuǎn)圖效果

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)仿3D輪轉(zhuǎn)圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論