[英]Methods on value types in .NET
我正在閱讀Jeffrey Richter的“CLR via C#”,他建議永遠不要在值類型中定義旨在改變它的行為的方法,因為值類型應該是不可變的(因為裝箱/拆箱費用,有時候是不可預測的行為)。
那么,我們可以在自定義值類型中定義方法,僅用於顯示它的狀態?
您能否提供其他需要在Struct
定義方法的能力的示例?
我能想到的最好的例子是DateTime
結構。
該類型上的所有實例方法都旨在通過操縱當前的DateTime
(例如AddMinutes
)或從當前DateTime
獲取其他信息(例如IsDaylightSavingsTime
)來創建新的DateTime
。 它還有各種靜態方法,用於從各種輸入創建新實例(例如FromBinary
)或通常操作DateTime
值(例如, Compare
)
沒有方法可以實際修改當前實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.