c# 類(lèi)型轉(zhuǎn)換
更新時(shí)間:2012年10月29日 13:58:31 作者:
CLR最重要的特性之一就是類(lèi)型安全性。在運(yùn)行時(shí),CLR總是知道一個(gè)對(duì)象是什么類(lèi)型。調(diào)用GetType方法可以返回類(lèi)型
CLR允許將一個(gè)對(duì)象轉(zhuǎn)換為它的實(shí)際類(lèi)型,或者它的基類(lèi)型。
在C#中,可將一個(gè)對(duì)象隱式轉(zhuǎn)換為它的基類(lèi)型,將對(duì)象轉(zhuǎn)換成派生類(lèi)型需要顯示轉(zhuǎn)換。例:
object o = new Emplee();
Emplee e = (Emplee)o;
但是如果將一個(gè)對(duì)象轉(zhuǎn)換成自己的派生類(lèi)型是,會(huì)運(yùn)行時(shí)報(bào)錯(cuò):
object o = new object();
Emplee e = (Emplee)o;
所以CLR是類(lèi)型安全的。
c#中is as的操作符用法
在c#語(yǔ)言中,進(jìn)行類(lèi)型轉(zhuǎn)換的另一個(gè)方式是使用is as操作符。
is:檢查對(duì)象是否兼容指定對(duì)象,返回bool類(lèi)型。
例:
object o = new object();
bool b1 = (o is object);//true
bool b2 = (o is Emplee);//false
is一般的用法:
if(o is Emplee)
{
Emplee e = (Emplee)o;
}
as:目的是簡(jiǎn)化is的代碼寫(xiě)法,同時(shí)提升性能,用法:
Emplee e = o as Emplee;
if(e != null)
{ }
這段代碼中,CLR核實(shí)o是否兼容于 Emplee類(lèi)型,如果兼容就轉(zhuǎn)Emplee類(lèi)型,如果不兼容就返回null。
在C#中,可將一個(gè)對(duì)象隱式轉(zhuǎn)換為它的基類(lèi)型,將對(duì)象轉(zhuǎn)換成派生類(lèi)型需要顯示轉(zhuǎn)換。例:
object o = new Emplee();
Emplee e = (Emplee)o;
但是如果將一個(gè)對(duì)象轉(zhuǎn)換成自己的派生類(lèi)型是,會(huì)運(yùn)行時(shí)報(bào)錯(cuò):
object o = new object();
Emplee e = (Emplee)o;
所以CLR是類(lèi)型安全的。
c#中is as的操作符用法
在c#語(yǔ)言中,進(jìn)行類(lèi)型轉(zhuǎn)換的另一個(gè)方式是使用is as操作符。
is:檢查對(duì)象是否兼容指定對(duì)象,返回bool類(lèi)型。
例:
object o = new object();
bool b1 = (o is object);//true
bool b2 = (o is Emplee);//false
is一般的用法:
if(o is Emplee)
{
Emplee e = (Emplee)o;
}
as:目的是簡(jiǎn)化is的代碼寫(xiě)法,同時(shí)提升性能,用法:
Emplee e = o as Emplee;
if(e != null)
{ }
這段代碼中,CLR核實(shí)o是否兼容于 Emplee類(lèi)型,如果兼容就轉(zhuǎn)Emplee類(lèi)型,如果不兼容就返回null。
您可能感興趣的文章:
- C#將布爾類(lèi)型轉(zhuǎn)換成字節(jié)數(shù)組的方法
- C#轉(zhuǎn)換日期類(lèi)型實(shí)例
- C#引用類(lèi)型轉(zhuǎn)換的常見(jiàn)方式總結(jié)
- c#入門(mén)之類(lèi)型轉(zhuǎn)換詳解
- c#之用戶定義的數(shù)據(jù)類(lèi)型轉(zhuǎn)換介紹
- C#用戶定義類(lèi)型轉(zhuǎn)換詳解
- 淺析C#數(shù)據(jù)類(lèi)型轉(zhuǎn)換的幾種形式
- C#基礎(chǔ)之?dāng)?shù)據(jù)類(lèi)型轉(zhuǎn)換
- C#自定義類(lèi)型強(qiáng)制轉(zhuǎn)換實(shí)例分析
相關(guān)文章
DevExpress實(shí)現(xiàn)GridControl列頭繪制Checkbox的方法
這篇文章主要介紹了DevExpress實(shí)現(xiàn)GridControl列頭繪制Checkbox的方法,需要的朋友可以參考下2014-08-08C# 連接SQL數(shù)據(jù)庫(kù)的方法及常用連接字符串
這篇文章主要介紹了C# 連接SQL數(shù)據(jù)庫(kù)的方法及常用連接字符串,有需要的朋友可以參考一下2014-01-01C#編寫(xiě)游戲客戶端的實(shí)現(xiàn)代碼
這篇文章主要介紹了C#編寫(xiě)游戲客戶端的實(shí)現(xiàn)代碼,連接客戶端原理流程圖,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11Unity UGUI的Scrollbar滾動(dòng)條組件使用詳解
這篇文章主要介紹了Unity UGUI的Scrollbar(滾動(dòng)條)組件的介紹及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07