大家在平時的工作中對類的使用應該是比較多的,但是在結構使用方面可能稍微少點,這里我就總結一下結構和類的一些異同之處,如有錯誤之處,還請指正。
- 結構是值類型,類是引用類型,結構通常用來封裝小型相關變量組(DateTime類型就是一種結構類型);
- 結構不可申明無參構造函數而類是可以的,但是結構可以申明有參構造函數,這個和類是相同的;
- 結構不可以定義析構函數,而類是可以定義析構函數;
- 可使用new創建結構對象,也可不使用new運算符;如果不是使用new運算符,結構中的字段應該都被賦值,不然不能使用;
- 結構不可以繼承其他結構或者類,所以結構中的成員不可設置為protected,同樣結構也不可以作為其他結構或類的基礎結構,但是結構可以實現一個或多個接口;
參考: https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/structs