c# 拷贝结构体_C#学习之Partial、结构体、枚举
生活随笔
收集整理的這篇文章主要介紹了
c# 拷贝结构体_C#学习之Partial、结构体、枚举
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、繼承時的一個概念,“把不變的內容寫到基類,在子類里寫經常改變的內容”。導致一個類仲只要有經常改變的內容,我們就要為它聲明一個派生類,如果改變的部分比較多,我們還得聲明多個或多層派生類,導致派生結構非常復雜。
有了派生類,我們按照邏輯切分成幾塊,每塊作為一個邏輯單元單獨更新迭代,這些分塊合并起來還是一個類。
namespace ConsoleStudy {partial class StudyPartial{public string Report1(){return "report=>原方法";}static void Main(string[] args){StudyPartial sp = new StudyPartial();var report1 = sp.Report1();var report2 = sp.Report2();Console.WriteLine(report1);Console.WriteLine(report2);}}partial class StudyPartial{public string Report2(){return "report=>補充方法";}} }輸出結果可以看到,補充的方法也屬于StudyPartial這個類。
2、結構體是值類型數據結構,它使得一個單一變量可以存儲各種數據類型的相關數據。struct關鍵字用于創建結構體
- 值類型、可裝/拆箱
- 可實現接口,不能派生子類/結構體
- 不能有顯式無參構造器
3、結構體實現接口
namespace ConsoleStudy {class StudyStruct{static void Main(string[] args){var book1 = new Book();book1.author = "Sunkist";book1.title = "C#";book1.subject = "computer";Console.WriteLine("book1 title:{0}",book1.title);Console.WriteLine("book1 author:{0}", book1.author);Console.WriteLine("book1 subject:{0}", book1.subject);book1.write();}}struct Book:IWrite{public string title;public string author;public string subject;public void write(){Console.WriteLine("U can write on the book");}}interface IWrite{void write();} }輸出結果:
結構體不能有顯示無參構造器,它已經有默認的無參構造器,初始化字段為0或者null。
那么有參構造呢?
可以說有參構造是沒有意義的,因為創建對象后就是需要給字段賦值。
3、枚舉
- 人為限定取值范圍的整數
- 整數值的對應
- 比特式用法
其中枚舉列表的每一個符號表達一個整數值,一個比它前面的符號大的整數值。默認情況下,第一個枚舉符號的值是0..
namespace ConsoleStudy {class StudyEnum{static void Main(string[] args){var employee = new Person {Level = Level.Employee};var bigBoss = new Person {Level = Level.Bigboss};Console.WriteLine(employee.Level>bigBoss.Level);Console.WriteLine("Employee:{0}",(int)Level.Employee);Console.WriteLine("Bigboss:{0}",(int)Level.Bigboss);}}enum Level{Employee,Manager = 100,Boss = 200,Bigboss}class Person{public int Id { get; set; }public string Name { get; set; }public Level Level { get; set; }} }輸出結果:
其實在光標放到vs里面時,就可以看到
枚舉列表里每一個符號都有一個對應的整數值。
比特位用法的更多內容參考官方文檔 Non-exclusive members and the Flags attribute
總結
以上是生活随笔為你收集整理的c# 拷贝结构体_C#学习之Partial、结构体、枚举的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么卸载电脑硬件驱动
- 下一篇: c# char unsigned_dll