C#入門之結(jié)構(gòu)類型Struct
概述:
結(jié)構(gòu)類似于類,但結(jié)構(gòu)為值類型,存儲于棧中。
結(jié)構(gòu)不能繼承和被繼承,但可實現(xiàn)接口。
結(jié)構(gòu)成員訪問級別有public,private(默認) ,internal。
1、簡單結(jié)構(gòu)
可以將無方法,屬性等簡單類,聲明為結(jié)構(gòu),提高系統(tǒng)處理效率。
定義結(jié)構(gòu)類型:
struct Pair { public int x; public string y; }
調(diào)用:
Pair p;//只有結(jié)構(gòu)中只存在字段時,new才可以省略。 Pair P1 = new Pair(); p.x = 10; p.y = "a"; Console.WriteLine(p.y);
2、 帶構(gòu)造函數(shù)的結(jié)構(gòu)
結(jié)構(gòu)可以自定義帶參數(shù)的構(gòu)造函數(shù),且必須顯示初始化所有實例字段。不能顯示創(chuàng)建默認構(gòu)造函數(shù)。
void Main() { Pair P1 = new Pair(10); P1.Add(1); Console.WriteLine(P1.X); } struct Pair { private int x;//實例字段不能在聲明時賦值(即不能初始化) private static Pair orign = new Pair();//靜態(tài)字段可以在聲明時賦值 public Pair(int x)//構(gòu)造函數(shù) { this.x = x; } public int X //結(jié)構(gòu)可以有屬性 { set { x = value; } get { return x; } } public void Add(int y)//結(jié)構(gòu)也可以有方法 { x = x + y; } }
到此這篇關(guān)于C#入門之結(jié)構(gòu)類型Struct的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#實現(xiàn)Array,List,Dictionary相互轉(zhuǎn)換
這篇文章介紹了C#實現(xiàn)Array,List,Dictionary互相轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04DevExpress實現(xiàn)GridControl列頭繪制Checkbox的方法
這篇文章主要介紹了DevExpress實現(xiàn)GridControl列頭繪制Checkbox的方法,需要的朋友可以參考下2014-08-08C#彈出對話框確定或者取消執(zhí)行相應(yīng)操作的實例代碼
這篇文章主要介紹了C#彈出對話框確定或者取消執(zhí)行相應(yīng)操作的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12c#數(shù)據(jù)綁定之刪除datatable數(shù)據(jù)示例
這篇文章主要介紹了c#刪除datatable數(shù)據(jù)示例,需要的朋友可以參考下2014-04-04C# WinForm程序處理后臺繁忙導(dǎo)致前臺控件假死現(xiàn)象解決方法
這篇文章主要介紹了C# WinForm程序處理后臺繁忙導(dǎo)致前臺控件假死現(xiàn)象解決方法,本文通過Application.DoEvents()解決這個問題,并講解了Application.DoEvents()的作用,需要的朋友可以參考下2015-06-06