CSharp中的關鍵字(Keywords,又作關鍵詞,業內一般譯為關鍵字)可分為內建型別、修飾符、語句關鍵字、方法引數、名稱空間關鍵字、型別測試關鍵字、泛型型別約束關鍵字、運算子關鍵字、訪問關鍵字、文字關鍵字、上下文關鍵字和查詢關鍵字。具體如下:
一、內建型別:
下列關鍵字用於宣告引用型別:
class 類
interface 介面
delegate 委託
C# 也提供了下列內建引用型別:
dynamic 動態型別
object 物件型別,所有型別的根型別
string 字串
void 當用作一種方法的返回型別時,void 將指定該方法不返回值。
var 隱式型別
abstract
在類中使用adstract指示某個類只能是其他類的基類。不可被例項化,用途是派生出其他非抽象類.當從抽象類派生非抽象類時,這些非抽象類必須具體實現所繼承的所有抽象成員,從而重寫那些抽象成員(對抽象方法的重寫必用override,虛方法的關鍵字virtual,對虛方法的重寫也要用override)。
const
指定無法修改欄位或區域性變數的值。宣告常量的關鍵字
event
宣告事件。常與委託(delegate)一起使用
extern
指示在外部實現方法。
new
new運算子:用於建立物件和呼叫建構函式。
new修飾符:用於向基類成員隱藏繼承成員。
override
要擴充套件或修改繼承的方法、屬性、索引器或事件的抽象實現或虛實現,必須使用 override 修飾符。
partial
在整個同一程式集中定義分部類、結構和方法。分部型別定義允許將類、結構或介面的定義拆分到多個檔案中。
readonly
宣告一個欄位,該欄位只能賦值為該宣告的一部分或者在同一個類的建構函式中。
sealed
指定類不能被繼承。密封類關鍵字,密封類不能被繼承(不想讓其它類繼承可以宣告為密封類)
static
靜態成員的關鍵字,靜態成員可以直接透過類來呼叫(在動靜態呼叫都可以),動態成員必需透過物件來呼叫
unsafe
宣告不安全的上下文。
virtual
虛方法的關鍵字,不含方法實現,用override對其實現,不含startic(多用於多型性)
volatile
volatile 關鍵字指示一個欄位可以由多個同時執行的執行緒修改。 宣告為 volatile 的欄位不受編譯器最佳化(假定由單個執行緒訪問)的限制。 這樣可以確保該欄位在任何時間呈現的都是最新的值。
volatile 修飾符通常用於由多個執行緒訪問但不使用 lock 語句對訪問進行序列化的欄位。
三、語句關鍵字
四、方法引數
params 指定此引數採用可變數量的引數。
in 指定此引數由引用傳遞,但只由呼叫方法讀取。
ref 指定此引數由引用傳遞,可能由呼叫方法讀取或寫入。
out 指定此引數由引用傳遞,由呼叫方法寫入。
using 語句定義一個範圍,在此範圍的末尾將釋放物件。
using 指令為名稱空間建立別名,或匯入在其他名稱空間中定義的型別。
using static 指令匯入單個類的成員。
六、型別測試關鍵字
new 約束指定泛型類宣告中的型別實參必須有公共的無引數建構函式。 若要使用 new 約束,則該型別不能為抽象型別。
八、運算子關鍵字
await 運算子應用於非同步方法中的任務,在方法的執行中插入掛起點,直到所等待的任務完成。 任務表示正在進行的工作。await 僅可用於由 async 關鍵字修改的非同步方法中。 使用 async 修飾符定義並且通常包含一個或多個 await 表示式的這類方法稱為非同步方法。
九、訪問關鍵字
base 訪問基類的成員。
this 引用類的當前例項。
十、文字關鍵字
default 關鍵字有兩種用法:
指定預設標籤的 switch 語句。
生成型別的預設值的預設值表示式。
十一、上下文關鍵字
十二、查詢關鍵字
因關鍵字眾多,未有整理到者,可在下面查詢:
abstract as base bool
break byte case catch
char checked class const
continue decimal default delegate
do double else enum
event explicit extern false
finally fixed float for
foreach goto if implicit
in int interface internal
is lock long namespace
new null object operator
out override params private
protected public readonly ref
return sbyte sealed short
sizeof stackalloc static string
struct switch this throw
true try typeof uint
ulong unchecked unsafe ushort
using using static virtual void
volatile while add alias ascending
async await by
descending dynamic equals
from get global
group into join
let nameof on
orderby partial(型別) partial(方法)
remove select set
值 var when(篩選條件)
where(泛型型別約束) where(查詢子句) yield
CSharp中的關鍵字(Keywords,又作關鍵詞,業內一般譯為關鍵字)可分為內建型別、修飾符、語句關鍵字、方法引數、名稱空間關鍵字、型別測試關鍵字、泛型型別約束關鍵字、運算子關鍵字、訪問關鍵字、文字關鍵字、上下文關鍵字和查詢關鍵字。具體如下:
一、內建型別:
值型別:bool 關鍵字是 System.Boolean 的別名。 它用於宣告變數來儲存布林值:true 和 false。char 關鍵字用於宣告 System.Char 結構的例項,.NET Framework 使用該結構來表示 Unicode 字元。 Char 物件的值為 16 位的數字(序號)值。enum 關鍵字用於宣告列舉,一種包含一組被稱為列舉數列表的已命名常數的不同型別。struct 型別是一種值型別,通常用來封裝小型相關變數組,例如,矩形的座標或庫存商品的特徵。下列關鍵字用於宣告引用型別:
class 類
interface 介面
delegate 委託
C# 也提供了下列內建引用型別:
dynamic 動態型別
object 物件型別,所有型別的根型別
string 字串
void 當用作一種方法的返回型別時,void 將指定該方法不返回值。
var 隱式型別
二、修飾符訪問修飾符:abstract
在類中使用adstract指示某個類只能是其他類的基類。不可被例項化,用途是派生出其他非抽象類.當從抽象類派生非抽象類時,這些非抽象類必須具體實現所繼承的所有抽象成員,從而重寫那些抽象成員(對抽象方法的重寫必用override,虛方法的關鍵字virtual,對虛方法的重寫也要用override)。
const
指定無法修改欄位或區域性變數的值。宣告常量的關鍵字
event
宣告事件。常與委託(delegate)一起使用
extern
指示在外部實現方法。
new
new運算子:用於建立物件和呼叫建構函式。
new修飾符:用於向基類成員隱藏繼承成員。
override
要擴充套件或修改繼承的方法、屬性、索引器或事件的抽象實現或虛實現,必須使用 override 修飾符。
partial
在整個同一程式集中定義分部類、結構和方法。分部型別定義允許將類、結構或介面的定義拆分到多個檔案中。
readonly
宣告一個欄位,該欄位只能賦值為該宣告的一部分或者在同一個類的建構函式中。
sealed
指定類不能被繼承。密封類關鍵字,密封類不能被繼承(不想讓其它類繼承可以宣告為密封類)
static
靜態成員的關鍵字,靜態成員可以直接透過類來呼叫(在動靜態呼叫都可以),動態成員必需透過物件來呼叫
unsafe
宣告不安全的上下文。
virtual
虛方法的關鍵字,不含方法實現,用override對其實現,不含startic(多用於多型性)
volatile
volatile 關鍵字指示一個欄位可以由多個同時執行的執行緒修改。 宣告為 volatile 的欄位不受編譯器最佳化(假定由單個執行緒訪問)的限制。 這樣可以確保該欄位在任何時間呈現的都是最新的值。
volatile 修飾符通常用於由多個執行緒訪問但不使用 lock 語句對訪問進行序列化的欄位。
三、語句關鍵字
四、方法引數
params 指定此引數採用可變數量的引數。
in 指定此引數由引用傳遞,但只由呼叫方法讀取。
ref 指定此引數由引用傳遞,可能由呼叫方法讀取或寫入。
out 指定此引數由引用傳遞,由呼叫方法寫入。
五、名稱空間關鍵字namespace 關鍵字用於宣告包含一組相關物件的作用域。 可以使用名稱空間來組織程式碼元素並建立全域性唯一型別。using 關鍵字有三個主要用途:using 語句定義一個範圍,在此範圍的末尾將釋放物件。
using 指令為名稱空間建立別名,或匯入在其他名稱空間中定義的型別。
using static 指令匯入單個類的成員。
六、型別測試關鍵字
is 運算子檢查表示式的結果是否與給定型別相容,或(從 C# 7.0 開始)針對某個模式測試表達式。as 將物件轉換為可相容型別。七、泛型型別約束關鍵字new 約束指定泛型類宣告中的型別實參必須有公共的無引數建構函式。 若要使用 new 約束,則該型別不能為抽象型別。
八、運算子關鍵字
await 運算子應用於非同步方法中的任務,在方法的執行中插入掛起點,直到所等待的任務完成。 任務表示正在進行的工作。await 僅可用於由 async 關鍵字修改的非同步方法中。 使用 async 修飾符定義並且通常包含一個或多個 await 表示式的這類方法稱為非同步方法。
九、訪問關鍵字
base 訪問基類的成員。
this 引用類的當前例項。
十、文字關鍵字
null 關鍵字是表示不引用任何物件的空引用的文字值。true 表示布林值 truefalse 表示布林值 falsedefault 關鍵字有兩種用法:
指定預設標籤的 switch 語句。
生成型別的預設值的預設值表示式。
十一、上下文關鍵字
十二、查詢關鍵字
因關鍵字眾多,未有整理到者,可在下面查詢:
abstract as base bool
break byte case catch
char checked class const
continue decimal default delegate
do double else enum
event explicit extern false
finally fixed float for
foreach goto if implicit
in int interface internal
is lock long namespace
new null object operator
out override params private
protected public readonly ref
return sbyte sealed short
sizeof stackalloc static string
struct switch this throw
true try typeof uint
ulong unchecked unsafe ushort
using using static virtual void
volatile while add alias ascending
async await by
descending dynamic equals
from get global
group into join
let nameof on
orderby partial(型別) partial(方法)
remove select set
值 var when(篩選條件)
where(泛型型別約束) where(查詢子句) yield