C 關鍵字詳解第四節

2022-03-11 05:54:15 字數 1980 閱讀 9449

char:16

位 unicode 字元

char在c#中與c語言不同,他表示的是16位無符號進製的數,在計算機中他是被用來儲存字元但是他只能用來存

儲乙個文字,與string不同string可以儲存多個文字或字元,char可以隱式轉換成其他型別比如int,string等

但是他不能由其他型別隱式轉換過來!他代表字元型別,屬於值型別,在c#中表示char str='

a'(注意!char

型別只能使用單引號去賦值使用),當然這屬於基本型別,而且工作中使用很少,所以不多研究,只需要知道

有這個玩意就行了!

checked

與unchecked:進行溢位檢查

這個傢伙可是個大傢伙!別看他只是個檢查功能,但是他所運用的場景往往是有些參加工作的程式設計師都不知道

的!在工作中大家直接乙個數值型別的賦值給乙個乙個int變數,這樣的場景不少見而且是很多初學者很容易煩

的錯!他們往往不考慮這個東西的最大值可以承受多少!比如乙個int型別,int型別有乙個屬性是maxvalue,

當你用maxvalue+1賦值給乙個新int變數時,你會發現你的**出錯了,這個不是結構錯誤,我稱它為成員膨脹

!還有一種情況是值型別賦值不會報錯但是卻會計算錯誤!仔細檢查發現後也不是結構錯誤,這就是成員膨脹

的另一種體現,因為在**運算中預設是不會檢查算數運算溢位的,你的**處理器只知道計算他的值,卻不

思考這個值是否正確!這個在測試中如果沒有被發現的話也會製造資料出錯而釀成大禍,所以為了安全起見微

軟推出了checked與unchecked這兩個關鍵字,他們可以用來檢測在數值計算中的邏輯錯誤和運算錯誤!下面看

個例子!

int a = int

.maxvalue;

int b=checked(int.maxvalue + 1

);

console.writeline(a);

console.writeline(b);

a的值是:

2147483647

這是int最大值但是我在使用checked是他會提示運算在編譯時溢位,這個就避免了我們

因為數值最大值的溢位導致資料錯誤,有些人說checked是檢查了報錯,那我用unchecked呢?此處我也試試了

這個用法:

int a = int

.maxvalue;

int b=unchecked(int.maxvalue + 1

);

console.writeline(a);

console.writeline(b);

執行可以通過,但是我列印的時候卻發現b的值是-2147483648

,而且他比a的值多乙個負號和乙個1,這就是溢

出的危險!雖然可以執行但是他所帶來的後果絕對是恐怖的!所以以後在賦值的時候要記得什麼時候需要用到

溢位檢查!或者在專案的屬性中點開生成點高階然後勾選溢位檢查!這樣就可以避免成員膨脹了!

class

:類如果你c#學的可以了,準備接觸物件導向了,那麼類是你學習的第乙個接觸最重要的關鍵字,他承載了所有事

物與物體的基本,可以說他是物件導向程式設計中最基本最不可或缺的構造單位!他實現了萬物皆物件的這個說法

!讓**從此豐富多彩!類他是乙個資料結構也是乙個容器,他有很多成員:字段,屬性,方法等7大元素!

成員也分靜態與例項成員,這裡不過多介紹,因為物件導向的思想一兩句話是說不完的,類支援封裝、繼承、

多型三要素!同時它的成員也包含這三要素,他的訪問性是多重的,有public或internal等等,這些都是組成

類(物件)的基本結構!類成員訪問時的識別符號是「.」(沒錯就是乙個點)操作符!

public(訪問修飾符) class(此處是型別) class1(類名稱)//

類的基本結構

關於類後期介紹物件導向的時候會著重講解!

今天的關鍵字介紹到此結束(

77/17),每天的基礎鞏固就是你成長的一大步!

第四節 C 函式過載

在真實的軟體開發中,經常要使用到函式過載,尤其在類的設計中,經常遇到。c 的函式過載是指,多個函式可以使用同乙個函式名,但是條件是函式的引數列表必須不同,引數列表內,可以是引數的數目不同,引數的型別不同等,如下所示 include void setvalue int one void setvalu...

C 第四節課

知識點 三種屬性,using改變許可權,繼承時名字的遮蔽,函式過載的遮蔽問題,派生類的建構函式,多繼承類,命名衝突,虛繼承,多繼承的建構函式,在基類中,基類的public,protected private 成員都是可以訪問的,但是類的物件只能訪問public成員 public繼承 基類的publi...

ObjC第四節 繼承

繼 承 1 繼承 1.1 nsobject,根類,oc建立的類都繼承自根類,位於類層次結構的頂層,沒有父類 1.2 父類的例項變數和方法都可以被隱式的繼承過來成為子類的一部分,子類就可以直接訪問這些例項變數和方法 1.3 alloc和init是繼承自nsobject的方法 1.4 繼承的概念呈單鏈繼...