為何要用屬性來替代公有欄位主要有下列幾項原因: 1.符合物件導向封裝概念 2.支援資料繫結 3.具修改彈性 符合物件導向封裝概念 屬性是對取得/修改內部數據的方...
.NET中有兩種不同的常數機制:一種是編譯時(Compile-Time)常數,一種是運行時(Runtime)常數。 編譯時常數 編譯時常數是透過Const關鍵字...
對C#而言,在做型別轉換時,撇開一些型別有提供Parse可供轉型外,通常我們有兩種選擇:一種是利用as運算子、一種則是強制轉型。作型別轉換時,應盡量採用as運算...
Introduction 相信大多數的C#使用者,尤其是碰過C語言的開發者,多多少少應該都有用過#if/#endif條件編譯。#if條件編譯通常是用來讓同一份代...
ToString方法昰.NET程式中最常用的方法。除了開發人員直接叫用外,.NET程式在某些情況下也會隱含叫用該方法。 在未做覆寫處理的狀態下,我們呼叫ToSt...
在C++中,所有類型都被定義為值類型,但可以自行選擇建立他們的參考形式;在JAVA中,所有自定義的類別都為參考類型。而在C#中,我們必須在設計類型的時候決定類型...
Introduction 當程式決定使用值類型來開發時,請優先考慮將值類型實現為具備常量性與原子性的類型。因為具有常量性的類型可讓程式較為容易編寫與維護,也較容...
.NET程式在物件初始時,變數初始器會將成員變數做初始化的動作。對於值類型的成員變數來說,會被初始為0值。因此我們應將0視為值類型的默認值。 以列舉型別來看,假...
C#提供了四種不同的函式來判斷兩個物件是否相等: public static bool ReferenceEquals(object left, obje...
GetHashCode對於參考類型來說,可以正常運作,但其效率很低。而對於值類型來說,其實現通常是不正確的。 GetHashCode若要重新定義,我們必須要遵循...