欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

常用C#關(guān)鍵字詳解教程(比較全面)

 更新時(shí)間:2016年04月12日 10:08:39   作者:NOGiveUp  
學(xué)習(xí)C#很久了,但可能你也和我一樣,總有那么一兩個(gè)關(guān)鍵詞,說(shuō)不清楚它是什么意思,有什么用,那么這篇文章就帶你一一講解。

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

類(lèi)型

Void

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

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

Ovid SampleMethod();

Var

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

引用類(lèi)型

Class

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

委托

委托類(lèi)型的聲明與方法簽名相似,有一個(gè)返回值和任意數(shù)目任意類(lèi)型的參數(shù):
public delegate void TestDelegate(string message);

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

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

接口

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

Object

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

String

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

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

修飾符

Override

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

Virtual

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

volatile

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

unsafe

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

static

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

sealed

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

readonly

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

extern

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

event

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

const

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

abstract

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

訪問(wèn)修飾符

internal

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

private

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

protected

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

public

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

abstract 可以和類(lèi)、方法、屬性、索引器及事件一起使用,
標(biāo)識(shí)一個(gè)可以擴(kuò)展但不能被實(shí)體化的、必須被實(shí)現(xiàn)的類(lèi)或方法。

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

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

catch 定義一個(gè)代碼塊,在特定類(lèi)型異常拋出時(shí),執(zhí)行塊內(nèi)代碼。
參見(jiàn)try和finally。

checked 既是操作符又是語(yǔ)句。
確保編譯器運(yùn)行時(shí),檢查整數(shù)類(lèi)型操作或轉(zhuǎn)換時(shí)出現(xiàn)的溢出。

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

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

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

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

explicit 一個(gè)定義用戶(hù)自定義轉(zhuǎn)換操作符的操作符,
通常用來(lái)將內(nèi)建類(lèi)型轉(zhuǎn)換為用戶(hù)定義類(lèi)型或反向操作。
必須再轉(zhuǎn)換時(shí)調(diào)用顯示轉(zhuǎn)換操作符。

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

finally 定義一個(gè)代碼塊,在程序控制離開(kāi)try代碼快后執(zhí)行。參見(jiàn)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è)用戶(hù)定義的轉(zhuǎn)換操作符。
通常用來(lái)將預(yù)定義類(lèi)型轉(zhuǎn)換為用戶(hù)定義類(lèi)型或反向操作。
隱式轉(zhuǎn)換操作符必須在轉(zhuǎn)換時(shí)使用。

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

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

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

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

out 標(biāo)識(shí)一個(gè)參數(shù)值會(huì)受影響的參數(shù),但在傳入方法時(shí),
該參數(shù)無(wú)需先初始化。

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

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

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

sealed 防止類(lèi)型被派生,防止方法和property被覆載。

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

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

struct struct是一種值類(lèi)型,可以聲明常量、字段、方法、property、
索引器、操作符、構(gòu)造器和內(nèi)嵌類(lèi)型。

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

try 異常處理代碼塊的組成部分之一。try代碼塊包括可能會(huì)
拋出異常的代碼。參閱catch和finally關(guān)鍵字。

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

unchecked 禁止溢出檢查。

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

using 當(dāng)用于命名空間時(shí),using關(guān)鍵字允許訪問(wèn)該命名空間中的類(lèi)型,
而無(wú)需指定其全名。也用于定義finalization操作的范圍。
virtual 一個(gè)方法修飾符,標(biāo)識(shí)可被覆載的方法。

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

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

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

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

相關(guān)文章

最新評(píng)論