C 中AS和IS關鍵字的用法

2021-06-22 09:22:08 字數 1106 閱讀 9586

在程式中,進行型別轉換是常見的事,

c#支援基本的強制型別轉換方法,例如:

object obj1 = new newtype();

newtype newvalue = (newtype)obj1;

這樣強制轉換的時候,這個過程是不安全的,因此需要用

try-catch

語句進行保護,這樣一來,比較安全的**方式應如下所示:

object obj1 = new newtype();

newtype newvalue = null;

trycatch (exception err)

但是,使用as操作符要注意以下幾點:

1、不用在型別之間進行型別轉化,即如下編寫就會出現編譯錯誤。

newtype newvalue = new newtype();

newtype1 newvalue = newvalue as newtype1;

2、不能應用在值型別資料,即不能如下寫(也會出現編譯錯誤)

object obj1 = 11;

int nvalue = obj1 as int;

對於1.,可以用傳統的型別轉換方式完成:

newtypeone newtestone = new newtypeone();

newtypetwo newtesttwo = (newtypetwo)newtestone;

要想使上面的操作正確完成,在原有型別中增加型別轉換操作符函式,即需要完成類似如下的**:

public calss newtypeone}

對於2,在c#中可以使用is操作符,再加上老式的型別轉換操作,就可以安全完成轉換,要完成如上操作,正確的寫法如下:

object obj1 = 11;

if(objtest is int )

在c#中提供的很好的型別轉換方式總結為:

object => 已知引用型別——使用as操作符完成;

object => 已知值型別——先使用is操作符來進行判斷,再用型別強轉換方式進行轉換;

已知引用型別之間轉換——首先需要相應型別提供轉換函式,再用型別強轉換方式進行轉換;

已知值型別之間轉換——最好使用系統提供的conver類所涉及的靜態方法。

關鍵字的用法 C 中const關鍵字用法總結

ark2000 看完了c primer的基礎篇,對const還是有點陌生,在這裡小小地總結一下吧。在變數的定義前加上const修飾符即可完成const物件的建立。const int val 5 const變數的值不能改變。val 5 error assignment of read only var...

C 中using關鍵字用法

c using用法詳解 using 關鍵字有兩個主要用途 一 作為指令,用於為命名空間建立別名或匯入其他命名空間中定義的型別。二 作為語句,用於定義乙個範圍,在此範圍的末尾將釋放物件。using指令 允許在命名空間中使用型別,這樣,您就不必在該命名空間中限定某個型別的使用 using system....

c 中unsafe關鍵字用法

unsafe 和 fixed unsafe fixed int p array 指標在c 中是不提倡使用的,有關指標的操作被認為是不安全的 unsafe 因此執行這段 之前,先要改乙個地方,否則編譯不過無法執行。修改方法 在右側的solution explorer中找到你的專案,在專案圖示 綠色 上...