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#語言中,進(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#語言中,進(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)文章
C#中實(shí)現(xiàn)任意List的全組合算法代碼
這篇文章主要是介紹了.net C# 實(shí)現(xiàn)任意List的全組合算法實(shí)現(xiàn)代碼,需要的朋友可以參考下2013-05-05
C#實(shí)現(xiàn)在listview中插入圖片實(shí)例代碼
這篇文章主要介紹了C#實(shí)現(xiàn)在listview中插入圖片實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03
在.NET框架使用C#實(shí)現(xiàn)PDF文件轉(zhuǎn)為HTML格式的步驟
HTML作為一種開放標(biāo)準(zhǔn)的網(wǎng)頁標(biāo)記語言,具有跨平臺(tái)、易于瀏覽和搜索引擎友好的特性,通過將PDF文件轉(zhuǎn)換為HTML格式,我們可以更方便地在瀏覽器中展示PDF文檔內(nèi)容,本文將介紹如何在.NET框架使用C#將PDF文件轉(zhuǎn)換為HTML格式,需要的朋友可以參考下2025-01-01

