c# 類型轉(zhuǎn)換
更新時(shí)間:2012年10月29日 13:58:31 作者:
CLR最重要的特性之一就是類型安全性。在運(yùn)行時(shí),CLR總是知道一個(gè)對(duì)象是什么類型。調(diào)用GetType方法可以返回類型
CLR允許將一個(gè)對(duì)象轉(zhuǎn)換為它的實(shí)際類型,或者它的基類型。
在C#中,可將一個(gè)對(duì)象隱式轉(zhuǎn)換為它的基類型,將對(duì)象轉(zhuǎn)換成派生類型需要顯示轉(zhuǎn)換。例:
object o = new Emplee();
Emplee e = (Emplee)o;
但是如果將一個(gè)對(duì)象轉(zhuǎn)換成自己的派生類型是,會(huì)運(yùn)行時(shí)報(bào)錯(cuò):
object o = new object();
Emplee e = (Emplee)o;
所以CLR是類型安全的。
c#中is as的操作符用法
在c#語(yǔ)言中,進(jìn)行類型轉(zhuǎn)換的另一個(gè)方式是使用is as操作符。
is:檢查對(duì)象是否兼容指定對(duì)象,返回bool類型。
例:
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的代碼寫法,同時(shí)提升性能,用法:
Emplee e = o as Emplee;
if(e != null)
{ }
這段代碼中,CLR核實(shí)o是否兼容于 Emplee類型,如果兼容就轉(zhuǎn)Emplee類型,如果不兼容就返回null。
在C#中,可將一個(gè)對(duì)象隱式轉(zhuǎn)換為它的基類型,將對(duì)象轉(zhuǎn)換成派生類型需要顯示轉(zhuǎn)換。例:
object o = new Emplee();
Emplee e = (Emplee)o;
但是如果將一個(gè)對(duì)象轉(zhuǎn)換成自己的派生類型是,會(huì)運(yùn)行時(shí)報(bào)錯(cuò):
object o = new object();
Emplee e = (Emplee)o;
所以CLR是類型安全的。
c#中is as的操作符用法
在c#語(yǔ)言中,進(jìn)行類型轉(zhuǎn)換的另一個(gè)方式是使用is as操作符。
is:檢查對(duì)象是否兼容指定對(duì)象,返回bool類型。
例:
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的代碼寫法,同時(shí)提升性能,用法:
Emplee e = o as Emplee;
if(e != null)
{ }
這段代碼中,CLR核實(shí)o是否兼容于 Emplee類型,如果兼容就轉(zhuǎn)Emplee類型,如果不兼容就返回null。
相關(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-01Unity UGUI的Scrollbar滾動(dòng)條組件使用詳解
這篇文章主要介紹了Unity UGUI的Scrollbar(滾動(dòng)條)組件的介紹及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07