C 特性之資料型別

2022-01-23 07:47:01 字數 2290 閱讀 1820

這篇文章主要通過演示類在不同發展中的不通過定義方法,來向讀者表述它們之間的區別和聯絡。

在c#1時代,我們喜歡這樣定義類:

public

class

product

}private

decimal

_price;

public

decimal

price

}public product(string name, decimal

price)

public

static

arraylist getarraylist()

public

override

string

tostring()

--", _name, _price);

}}

侷限性:

1、arraylist沒有提供與其內部內容有關的編譯時資訊,如果不慎寫錯,編譯器也不會出現任何提示;

2、**中為屬性提供了公共的取值方法,這意味著如果新增對應的賦值方法,那麼賦值方法必須是共有的;

3、用於建立屬性和變數的**很複雜,這違背了我們進行封裝的原本意願;

在c#2時代,我們喜歡這樣定義類:

public

class

product

private

set

}private

decimal

_price;

public

decimal

price

private

set

}public product(string name, decimal

price)

public

static listgetarraylist()

public

override

string

tostring()

--", name, price);

}}

現在,屬性擁有了私有的賦值方法,並且它能非常聰明的「猜出」list是告知編譯器列表中只能包含product。試圖將乙個不同型別新增到列表中會造成編譯時錯誤,並且當你從列表中獲取結果時,也並不需要轉化結果的型別;有效的解決了c#1中的前兩個問題;

在c#3時代,我們喜歡這樣定義類:

public

class

product

public

decimal

price

public

product(){}

public

static listgetarraylist()

,new product ,

new product };}

public

override

string

tostring()

--", name, price);

}}

發展到這個階段,我們可以很明顯的發現,不再有任何**(或者可見的變數)與屬性關聯,而且硬編碼的列表是以一種全然不同的方式構建,這樣一來,我們實際上是完全可以刪除就有的建構函式,但是外部**就不能再建立其他的產品例項。自動熟悉大大簡化了操作;

在c#4時代,我們喜歡這樣定義類:

public

class

product

}private

readonly

decimal

_price;

public

decimal

price

}public product(string name,decimal

price)

public

static listgetarraylist();}

public

override

string

tostring()

--", name, price);

}}

在這個特定的示例中,c#4的特性的好處還不是很明顯,但當方法或建構函式包含多個引數時,它可以是**的含義更加清-特別是當引數型別相同,或某個引數為null時。當然,你可以選擇什麼時候使用該特性,只在是**更好的理解時才指定引數的名稱;

總結:c#1(唯讀屬性,弱型別集合)------》c#2(私有屬性賦值方法,強型別集合)------》c#3(自動實現的熟悉,增強的集合和物件初始化)------》c#4(用命名實參更清晰的呼叫建構函式和方法)

注:由於c#5在這方面的特性表現的沒有太大變化,所以就不再表述。

C 之資料型別

c 之資料型別 c 中的資料型別總的來說可以分為兩大類 1.值型別 常見值型別為 int double float char 結構體等 2.引用型別 如使用者定義的類 介面 字串等 以下簡介幾個常用基本型別 int double float char string這些都是關鍵字,是微軟為了方便定義的...

c之資料型別

在 c 語言中,資料型別指的是用於宣告不同型別的變數或函式的乙個廣泛的系統。變數的型別決定了變數儲存占用的空間,以及如何解釋儲存的位模式。c 中的型別可分為以下幾種 序號型別與描述 1基本型別 它們是算術型別,包括兩種型別 整數型別和浮點型別。2列舉型別 它們也是算術型別,被用來定義在程式中只能賦予...

C 學習之 資料型別

內容摘自書籍 c 程式設計.慕課版 型別 1.整型型別 整型型別代表一種沒有小數點的整數數值。2.浮點型別 浮點型別主要用於處理含有小數的數值型別,包含 float double和decimal三種型別。如果不做任何設定,包含小數點的數值都被認為是double型別。3.布林型別 布林型別主要用來表示...