C 程式設計指南 語句型別

2021-06-26 07:51:08 字數 1276 閱讀 7092

1.選擇語句

if... else..., switch... case...

2.迭代語句

do, for,foreach, while

3.跳轉語句

break:用於終止最近的封閉迴圈或它所在的switch語句。

goto 語句:將程式控制直接傳遞給標記語句。

goto語句乙個通常做法是將控制傳遞給特定的switch-case 標籤或switch 語句的預設標籤;goto 語句還用於跳出深巢狀迴圈。

return:終止它出現在其中的方法的執行並將控制權返回給呼叫方法;還可以返回乙個可選值。

yield:yield return 計算表示式並以列舉數物件的形式返回;expression 必須可以隱式轉換為迭代器的yield 型別。yield break:發出迭代器結束訊號

4. 異常處理語句

throw:顯示引發異常;通常throw 語句與try-catch 或 try-finally 語句一塊使用。當引發異常時,程式查詢處理此異常的catch 語句。還可以使用throw 語句再次引發捕獲的異常。較好的編碼做法是,向再次引發的異常新增資訊以在除錯時提供更多資訊。

有時候在方法中出現了異常,不一定立即把它顯示出來,而是想把這個異常丟擲並讓呼叫這個方法的程式進行捕捉和處理。這時我們就可以使用throw語句了。

throw[表示式]

注意:表示式的型別必須是system.exception或是從system.exception繼承的類的型別。throw 也可以不用帶表示式,但只能用在catch中

static void main(string args)

catch(exception er)

console.readkey();

}static void method1()

catch(exception er)

}static void method2()

try-catch

try-finally

try-catch-finally

5.檢查和未檢查語句

checked:指定已檢查的上下文

unchecked:指定未檢查的上下文

6.lock 語句

lock 關鍵字將語句塊標記為臨界區,方法是獲得給定物件的互斥鎖,執行語句,然後釋放該鎖。

通常,應避免鎖定public型別,否則例項將超出**的控制範圍。最佳做法是定義private物件來鎖定,或private static 物件變數來保護所有例項所共享的資料。

7.fixed語句

傳遞引用型別引數(C 程式設計指南)

引用型別的變數不直接包含其資料 它包含的是對其資料的引用。當通過值傳遞引用型別的引數時,有可能更改引用所指向的資料,如某類成員的值。但是無法更改引用本身的值 也就是說,不能使用相同的引用為新類分配記憶體並使之在塊外保持。若要這樣做,應使用 ref 或 out 關鍵字傳遞引數。為了簡單起見,下面的示例...

型別引數的約束(C 程式設計指南)

在定義泛型類時,可以對客戶端 能夠在例項化類時用於型別引數的型別種類施加限制。如果客戶端 嘗試使用某個約束所不允許的型別來例項化類,則會產生編譯時錯誤。這些限制稱為約束。約束是使用 where 上下文關鍵字指定的。下表列出了六種型別的約束 約束說明 t 結構 型別引數必須是值型別。可以指定除 nul...

型別引數的約束(C 程式設計指南)

約束告知編譯器型別引數必須具備的功能。在沒有任何約束的情況下,型別引數可以是任何型別。編譯器只能假定 object 的成員,它是任何 net 型別的最終基類。有關詳細資訊,請參閱使用約束的原因。如果客戶端 嘗試使用約束所不允許的型別來例項化類,則會產生編譯時錯誤。通過使用where上下文關鍵字指定約...