常用C#關(guān)鍵字詳解教程(比較全面)
來源:易賢網(wǎng) 閱讀:1662 次 日期:2016-08-09 16:55:31
溫馨提示:易賢網(wǎng)小編為您整理了“常用C#關(guān)鍵字詳解教程(比較全面)”,方便廣大網(wǎng)友查閱!

不論你是新手還是老手,是否對(duì)C#的某些關(guān)鍵字有些摸不到頭腦呢?現(xiàn)在我就和大家一起學(xué)習(xí)一下這些關(guān)鍵字的含義

類型

Void

用作方法的返回類型時(shí),void 關(guān)鍵字指定方法不返回值。

在方法的參數(shù)列表中不允許使用 void。采用以下形式聲明一個(gè)無參數(shù)的、不返回值的方法:

Ovid SampleMethod();

Var

在方法范圍中聲明的變量可以具有隱式類型 var。隱式類型的本地變量是強(qiáng)類型變量(就好像您已經(jīng)聲明該類型一樣),但由編譯器確定類型。 有返回值

引用類型

Class

類是使用關(guān)鍵字 class 聲明的

委托

委托類型的聲明與方法簽名相似,有一個(gè)返回值和任意數(shù)目任意類型的參數(shù): 

public delegate void TestDelegate(string message);

public delegate int TestDelegate(MyType m, long num);

delegate 是一種可用于封裝命名或匿名方法的引用類型。委托類似于 C++ 中的函數(shù)指針;但是,委托是類型安全和可靠的。

接口

接口只包含方法、屬性、事件或索引器的簽名。成員的實(shí)現(xiàn)是在實(shí)現(xiàn)接口的類或結(jié)構(gòu)中完成的

Object

object 類型在 .NET Framework 中是 Object 的別名。在 C# 的統(tǒng)一類型系統(tǒng)中,所有類型(預(yù)定義類型、用戶定義類型、引用類型和值類型)都是直接或間接從 Object 繼承的??梢詫⑷魏晤愋偷闹蒂x給 object 類型的變量。將值類型的變量轉(zhuǎn)換為對(duì)象的過程稱為“裝箱”。將對(duì)象類型的變量轉(zhuǎn)換為值類型的過程稱為“取消裝箱”。

String

string 類型表示零或更多 Unicode 字符組成的序列。string 是 .NET Framework 中 String 的別名。

盡管 string 是引用類型,但定義相等運(yùn)算符(== 和 !=)是為了比較 string 對(duì)象(而不是引用)的值。這使得對(duì)字符串相等性的測(cè)試更為直觀。

修飾符

Override

要擴(kuò)展或修改繼承的方法、屬性、索引器或事件的抽象實(shí)現(xiàn)或虛實(shí)現(xiàn),必須使用 override 修飾符。

Virtual

virtual 關(guān)鍵字用于修飾方法、屬性、索引器或事件聲明,并使它們可以在派生類中被重寫。例如,此方法可被任何繼承它的類重寫。

volatile

volatile 關(guān)鍵字指示一個(gè)字段可以由多個(gè)同時(shí)執(zhí)行的線程修改。聲明為 volatile 的字段不受編譯器優(yōu)化(假定由單個(gè)線程訪問)的限制。這樣可以確保該字段在任何時(shí)間呈現(xiàn)的都是最新的值。

unsafe

unsafe 關(guān)鍵字表示不安全上下文,該上下文是任何涉及指針的操作所必需的。

static

使用 static 修飾符聲明屬于類型本身而不是屬于特定對(duì)象的靜態(tài)成員。static 修飾符可用于類、字段、方法、屬性、運(yùn)算符、事件和構(gòu)造函數(shù),但不能用于索引器、析構(gòu)函數(shù)或類以外的類型。

sealed

當(dāng)對(duì)一個(gè)類應(yīng)用 sealed 修飾符時(shí),此修飾符會(huì)阻止其他類從該類繼承。在下面的示例中,類 B 從類 A 繼承,但是任何類都不能從類 B 繼承。

readonly

readonly 關(guān)鍵字是可以在字段上使用的修飾符。當(dāng)字段聲明包括 readonly 修飾符時(shí),該聲明引入的字段賦值只能作為聲明的一部分出現(xiàn),或者出現(xiàn)在同一類的構(gòu)造函數(shù)中。

extern

extern 修飾符用于聲明在外部實(shí)現(xiàn)的方法。extern 修飾符的常見用法是在使用 Interop 服務(wù)調(diào)入非托管代碼時(shí)與 DllImport 屬性一起使用。在這種情況下,還必須將方法聲明為 static

event

event 關(guān)鍵字用于在發(fā)行者類中聲明事件。

const

const 關(guān)鍵字用于修改字段或局部變量的聲明。它指定字段或局部變量的值是常數(shù),不能被修改。

abstract

abstract 修飾符可以和類、方法、屬性、索引器及事件一起使用。在類聲明中使用 abstract 修飾符以指示某個(gè)類只能是其他類的基類。標(biāo)記為抽象或包含在抽象類中的成員必須通過從抽象類派生的類來實(shí)現(xiàn)。

訪問修飾符

internal

internal 關(guān)鍵字是類型和類型成員的訪問修飾符。只有在同一程序集的文件中,內(nèi)部類型或成員才是可訪問的

private

private 關(guān)鍵字是一個(gè)成員訪問修飾符。私有訪問是允許的最低訪問級(jí)別。私有成員只有在聲明它們的類和結(jié)構(gòu)體中才是可訪問的

protected

protected 關(guān)鍵字是一個(gè)成員訪問修飾符。受保護(hù)成員在其所在的類中可由派生類實(shí)例訪問。

public

public 關(guān)鍵字是類型和類型成員的訪問修飾符。公共訪問是允許的最高訪問級(jí)別。

abstract 可以和類、方法、屬性、索引器及事件一起使用, 

標(biāo)識(shí)一個(gè)可以擴(kuò)展但不能被實(shí)體化的、必須被實(shí)現(xiàn)的類或方法。

as 一個(gè)轉(zhuǎn)換操作符,如果轉(zhuǎn)換失敗,就返回null。

base 用于訪問被派生類或構(gòu)造中的同名成員隱藏的基類成員。

catch 定義一個(gè)代碼塊,在特定類型異常拋出時(shí),執(zhí)行塊內(nèi)代碼。 

參見try和finally。

checked 既是操作符又是語(yǔ)句。 

確保編譯器運(yùn)行時(shí),檢查整數(shù)類型操作或轉(zhuǎn)換時(shí)出現(xiàn)的溢出。

const 標(biāo)識(shí)一個(gè)可在編譯時(shí)計(jì)算出來的變量值,即一經(jīng)指派不可修改的值。

delegate 指定一個(gè)聲明為一種委托類型。委托把方法封裝為可調(diào)用實(shí)體, 

能在委托實(shí)體中調(diào)用。

enum 表示一個(gè)已命名常量群集的值類型。

event 允許一個(gè)類或?qū)ο筇峁┩ㄖ某蓡T,他必須是委托類型。

explicit 一個(gè)定義用戶自定義轉(zhuǎn)換操作符的操作符, 

通常用來將內(nèi)建類型轉(zhuǎn)換為用戶定義類型或反向操作。 

必須再轉(zhuǎn)換時(shí)調(diào)用顯示轉(zhuǎn)換操作符。

extern 標(biāo)識(shí)一個(gè)將在外部(通常不是c#語(yǔ)言)實(shí)現(xiàn)的方法。

finally 定義一個(gè)代碼塊,在程序控制離開try代碼快后執(zhí)行。參見try和catch。

fixed 在一個(gè)代碼塊執(zhí)行時(shí),在固定內(nèi)存位置為一個(gè)變量指派一個(gè)指針。

foreach 用于遍歷一個(gè)群集的元素。

goto 一個(gè)跳轉(zhuǎn)語(yǔ)句,將程序執(zhí)行重定向到一個(gè)標(biāo)簽語(yǔ)句。

implicit 一個(gè)操作符,定義一個(gè)用戶定義的轉(zhuǎn)換操作符。 

通常用來將預(yù)定義類型轉(zhuǎn)換為用戶定義類型或反向操作。 

隱式轉(zhuǎn)換操作符必須在轉(zhuǎn)換時(shí)使用。

interface 將一個(gè)聲明指定為接口類型,即實(shí)現(xiàn)類或構(gòu)造必須遵循的合同。

internal 一個(gè)訪問修飾符。

namespace 定義一個(gè)邏輯組的類型和命名空間。

operator 用來聲明或多載一個(gè)操作符。

out 標(biāo)識(shí)一個(gè)參數(shù)值會(huì)受影響的參數(shù),但在傳入方法時(shí), 

該參數(shù)無需先初始化。

params 聲明一個(gè)參數(shù)數(shù)組。如果使用,必須修改指定的最后一個(gè)參數(shù)。 

允許可選參數(shù)。

readonly 標(biāo)識(shí)一個(gè)變量的值在初始化后不可修改。

ref 標(biāo)識(shí)一個(gè)參數(shù)值可能會(huì)受影響的參數(shù)。

sealed 防止類型被派生,防止方法和property被覆載。

sizeof 一個(gè)操作符,以byte為單位返回一個(gè)值類型的長(zhǎng)度。

stackalloc 返回在堆上分配的一個(gè)內(nèi)存塊的指針。

struct struct是一種值類型,可以聲明常量、字段、方法、property、 

索引器、操作符、構(gòu)造器和內(nèi)嵌類型。

throw 拋出一個(gè)異常。

try 異常處理代碼塊的組成部分之一。try代碼塊包括可能會(huì) 

拋出異常的代碼。參閱catch和finally關(guān)鍵字。

typeof 一個(gè)操作符,返回傳入?yún)?shù)的類型。

unchecked 禁止溢出檢查。

unsafe 標(biāo)注包含指針操作的代碼塊、方法或類。

using 當(dāng)用于命名空間時(shí),using關(guān)鍵字允許訪問該命名空間中的類型, 

而無需指定其全名。也用于定義finalization操作的范圍。 

virtual 一個(gè)方法修飾符,標(biāo)識(shí)可被覆載的方法。

volatile 標(biāo)識(shí)一個(gè)可被操作系統(tǒng)、某些硬件設(shè)備或并發(fā)線程修改的attribute。

一般的構(gòu)造函數(shù)總是public類型的,如果是private類型的,表明類不能被實(shí)例化,這通常用于只含有靜態(tài)的成員的類。

在派生類中聲明對(duì)虛方法的重載,要求在聲明中加上override關(guān)鍵字,而且不能有new,static或virtual修飾符。

密封類在聲明中使用sealed修飾符,這樣就可以防止該類被其它類繼承。

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:常用C#關(guān)鍵字詳解教程(比較全面)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)