您好,登錄后才能下訂單哦!
這篇文章主要介紹了C#結(jié)構(gòu)體怎么創(chuàng)建的相關知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C#結(jié)構(gòu)體怎么創(chuàng)建文章都會有所收獲,下面我們一起來看看吧。
結(jié)構(gòu)體的創(chuàng)建需要使用 struct
關鍵字來聲明,結(jié)構(gòu)體中可以有不同類型的變量:
struct role{ public string name; public int age; }
雖然結(jié)構(gòu)體和數(shù)組一樣是可以存儲多個值,但是它們的數(shù)據(jù)類型是不同的,數(shù)組是屬于引用類型,而結(jié)構(gòu)體是屬于值類型:
role role1; ... // 筆者懶,就省略了所有賦值的步驟 if(role1 is System.ValueType){ Console.WriteLine("結(jié)構(gòu)體是值類型"); } else{ Console.WriteLine("結(jié)構(gòu)體是引用類型"); }
注意:在這里想要使用 role1
,首先保證 role1
里面的所有變量都已經(jīng)賦值。只要有一個沒有賦值,它就會產(chǎn)生報錯。
結(jié)構(gòu)體里面除了可以聲明變量,同時也可以聲明數(shù)組:
struct role{ public string[] food; } static void Main(string[] args){ role role1; role1.food = new string[]{ "小籠包 ", "菜包", "肉包" }; }
可以聲明對象:
struct role{ public object obj; } static void Main(string[] args){ role role1; role1.obj = 123; }
還可以聲明類:
class c1{ struct role{ public c2 c2; } static void Main(string[] args){ role role1; role1.c2 = new c2(); } } class c2{ public string name = "xxx"; public void method(){ Console.WriteLine("成員方法"); } }
結(jié)構(gòu)體除了可以聲明許多數(shù)據(jù)類型,結(jié)構(gòu)作為數(shù)據(jù)類型的一種,也是可以被聲明:
struct role{ public string rname; public struct skill{ public string sname; } } static void Main(string[] args){ role role1; role1.rname = "喬峰"; role.skill s1; s1.sname = "降龍十八掌"; Console.WriteLine("{0}正在使用{1}", role1.rname, s1.sname); // 喬峰正在使用降龍十八掌 }
除了可以聲明各種數(shù)據(jù)類型,結(jié)構(gòu)體里面還可以聲明方法:
struct role{ public void sayHello(){ Console.WriteLine("Hello everyone"); } } static void Main(string[] args){ role role1; role1.sayHello(); }
關于“C#結(jié)構(gòu)體怎么創(chuàng)建”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“C#結(jié)構(gòu)體怎么創(chuàng)建”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。