c# 類型轉(zhuǎn)換
更新時間:2012年10月29日 13:58:31 作者:
CLR最重要的特性之一就是類型安全性。在運行時,CLR總是知道一個對象是什么類型。調(diào)用GetType方法可以返回類型
CLR允許將一個對象轉(zhuǎn)換為它的實際類型,或者它的基類型。
在C#中,可將一個對象隱式轉(zhuǎn)換為它的基類型,將對象轉(zhuǎn)換成派生類型需要顯示轉(zhuǎn)換。例:
object o = new Emplee();
Emplee e = (Emplee)o;
但是如果將一個對象轉(zhuǎn)換成自己的派生類型是,會運行時報錯:
object o = new object();
Emplee e = (Emplee)o;
所以CLR是類型安全的。
c#中is as的操作符用法
在c#語言中,進行類型轉(zhuǎn)換的另一個方式是使用is as操作符。
is:檢查對象是否兼容指定對象,返回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:目的是簡化is的代碼寫法,同時提升性能,用法:
Emplee e = o as Emplee;
if(e != null)
{ }
這段代碼中,CLR核實o是否兼容于 Emplee類型,如果兼容就轉(zhuǎn)Emplee類型,如果不兼容就返回null。
在C#中,可將一個對象隱式轉(zhuǎn)換為它的基類型,將對象轉(zhuǎn)換成派生類型需要顯示轉(zhuǎn)換。例:
object o = new Emplee();
Emplee e = (Emplee)o;
但是如果將一個對象轉(zhuǎn)換成自己的派生類型是,會運行時報錯:
object o = new object();
Emplee e = (Emplee)o;
所以CLR是類型安全的。
c#中is as的操作符用法
在c#語言中,進行類型轉(zhuǎn)換的另一個方式是使用is as操作符。
is:檢查對象是否兼容指定對象,返回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:目的是簡化is的代碼寫法,同時提升性能,用法:
Emplee e = o as Emplee;
if(e != null)
{ }
這段代碼中,CLR核實o是否兼容于 Emplee類型,如果兼容就轉(zhuǎn)Emplee類型,如果不兼容就返回null。
相關(guān)文章
DevExpress實現(xiàn)GridControl列頭繪制Checkbox的方法
這篇文章主要介紹了DevExpress實現(xiàn)GridControl列頭繪制Checkbox的方法,需要的朋友可以參考下2014-08-08C# 連接SQL數(shù)據(jù)庫的方法及常用連接字符串
這篇文章主要介紹了C# 連接SQL數(shù)據(jù)庫的方法及常用連接字符串,有需要的朋友可以參考一下2014-01-01