日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c# 拷贝结构体_C#学习之Partial、结构体、枚举

發布時間:2024/9/19 C# 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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關鍵字用于創建結構體

  • 值類型、可裝/拆箱
  • 可實現接口,不能派生子類/結構體
  • 不能有顯式無參構造器
namespace ConsoleStudy {class StudyStruct{static void Main(string[] args){Book 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);}}struct Book{public string title;public string author;public string subject;} }

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、结构体、枚举的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。