日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#數(shù)據(jù)類型轉(zhuǎn)換的幾種形式

(1) 隱式轉(zhuǎn)換:一般是低類型向高類型轉(zhuǎn)化,能夠保證值不發(fā)生變化。

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的鄒平網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

隱式數(shù)值C#數(shù)據(jù)類型轉(zhuǎn)換:

從 sbyte 到 short、int、long、float、double 或 decimal。

從 byte 到 short、ushort、int、uint、long、ulong、float double 或 decimal。

從 short 到 int、long、float、double 或 decimal。

從 ushort 到 int、uint、long、ulong、float、double 或 decimal。

從 int 到 long、float、double 或 decimal。

從 uint 到 long、ulong、float、double 或 decimal。

從 long 到 float、double 或 decimal。

從 ulong 到 float、double 或 decimal。

從 char 到 ushort、int、uint、long、ulong、float、double 或 decimal。

從 float 到 double。

不存在向 char 類型的隱式轉(zhuǎn)換,因此其它整型的值不會自動轉(zhuǎn)換為 char 類型。

浮點型不能隱式地轉(zhuǎn)化為decimal型

隱式枚舉轉(zhuǎn)換

隱式枚舉轉(zhuǎn)換允許將十進(jìn)制整數(shù) 0 轉(zhuǎn)換為任何枚舉類型。

隱式引用轉(zhuǎn)換

派生類向基類轉(zhuǎn)換

隱式引用轉(zhuǎn)換是指一類引用類型之間的轉(zhuǎn)換,這種轉(zhuǎn)換總是可以成功,因此不需要在運行時進(jìn)行任何檢查。

裝箱轉(zhuǎn)換

裝箱轉(zhuǎn)換允許將值類型隱式轉(zhuǎn)換為引用類型。

(2) 顯示轉(zhuǎn)換:也稱強制類型轉(zhuǎn)換。不能保證數(shù)據(jù)的正確性。

(type)(表達(dá)式)

(3) 用戶自定義C#數(shù)據(jù)類型轉(zhuǎn)換

所有的用戶自定義轉(zhuǎn)換都是靜態(tài)的,要使用static關(guān)鍵字

用戶自定義轉(zhuǎn)換分顯示和隱示,它們用implicit(隱式轉(zhuǎn)換)或 explicit(顯示轉(zhuǎn)換)關(guān)鍵字聲明。

static 訪問修辭符 轉(zhuǎn)換修辭符 operator 轉(zhuǎn)換類型(參數(shù))

C#數(shù)據(jù)類型轉(zhuǎn)換示例:

 
 
 
  1. usingSystem;
  2. structNumber
  3. {
  4. privateintvalue;
  5. publicNumber(intvalue)
  6. {
  7. this.value=value;
  8. }
  9. //用戶自定義整型到Number型的隱式轉(zhuǎn)換
  10. staticpublicimplicitoperatorNumber(intvalue)
  11. {
  12. returnnewNumber(value);
  13. }
  14. //用戶自定義從Number型到整型的顯示轉(zhuǎn)換
  15. staticpublicexplicitoperatorint(Numbern)
  16. {
  17. returnn.value;
  18. }
  19. //用戶自定義從Number類型到string類型的隱式轉(zhuǎn)換
  20. staticpublicimplicitoperatorstring(Numbern)
  21. {
  22. returnn.ToString();
  23. }
  24. }
  25. classTest
  26. {
  27. staticpublicvoidMain()
  28. {
  29. Numbern;
  30. n=10;
  31. Console.WriteLine((int)n);
  32. //隱式轉(zhuǎn)換到string
  33. Console.WriteLine(n);
  34. }
  35. }

使用System.Convert類

將一個基本數(shù)據(jù)類型轉(zhuǎn)換為另一個基本數(shù)據(jù)類型。

使用Parse方法

大部份預(yù)定義值類型都有這個靜態(tài)方法,用來將相應(yīng)的文本轉(zhuǎn)化為相應(yīng)的值類型。

裝箱和取消裝箱

裝箱和取消裝箱使值類型能夠與 object 類型相互轉(zhuǎn)換。

裝箱轉(zhuǎn)換允許將“值類型”隱式轉(zhuǎn)換為“引用類型”。將“值類型”的值裝箱的操作包括:分配一個對象實例并將“值類型”的值復(fù)制到該實例中。

C#數(shù)據(jù)類型轉(zhuǎn)換示例:

此例將整數(shù)變量 i 通過裝箱轉(zhuǎn)換為對象 o。此例顯示對象保留了內(nèi)容的原始副本,即 123。

 
 
 
  1. usingSystem;
  2. classTestBoxing
  3. {
  4. publicstaticvoidMain()
  5. {
  6. inti=123;
  7. objecto=i;//隱式的裝箱
  8. i=456;//改變變量i的值
  9. Console.WriteLine("Thevalue-typevalue={0}",i);//456
  10. Console.WriteLine("Theobject-typevalue={0}",o);//123是i的復(fù)制值
  11. }
  12. }

取消裝箱轉(zhuǎn)換:取消裝箱轉(zhuǎn)換允許將引用類型顯式轉(zhuǎn)換為值類型。

取消裝箱操作包括以下兩個步驟:首先檢查該對象實例是否是某個給定的值類型的裝了箱的值,然后將值從實例中復(fù)制出來。

C#數(shù)據(jù)類型轉(zhuǎn)換示例:

下面的示例闡釋無效取消裝箱的情況,即錯誤的取消裝箱如何導(dǎo)致 InvalidCastException。通過使用 try 和 catch,發(fā)生錯誤時會顯示錯誤信息。

 
 
 
  1. usingSystem;
  2. publicclassUnboxingTest
  3. {
  4. publicstaticvoidMain()
  5. {
  6. intintI=123;
  7. objecto=intI;//裝箱
  8. try
  9. {
  10. intintJ=(short)o;//取消裝箱無效,short不是裝了箱的值類型.檢查該對象實例是否是某個給定的值類型的裝了箱的值
  11. Console.WriteLine("UnboxingOK.");
  12. }
  13. catch(InvalidCastExceptione)
  14. {
  15. Console.WriteLine("{0}Error:Incorrectunboxing.",e);
  16. }
  17. }
  18. }

其它轉(zhuǎn)換用運算符

as

as 運算符用于執(zhí)行引用類型的顯式類型轉(zhuǎn)換。 如果要轉(zhuǎn)換的類型與指定類型兼容,轉(zhuǎn)換就會成功;如果類型不兼容,則返回null。

表達(dá)式as 類型

as 運算符類似于類型轉(zhuǎn)換,所不同的是,當(dāng)轉(zhuǎn)換失敗時,as 運算符將返回null,而不是引發(fā)異常。

示例:

 
 
 
  1. objecto1=”SomeString”;
  2. objecto2=5;
  3. strings1=o1asstring;//類型兼容s1=”SomeString”
  4. strings2=o2asstring;//s2=null

is

is 運算符用于檢查對象的類型是否與給定類型兼容(對象是該類型,或是派生于該類型)。

表達(dá)式 is 類型

示例:

 
 
 
  1. inti=10;
  2. if(iisobject)//true
  3. {}

sizeof

sizeof 運算符用于獲得值類型的大?。ㄒ宰止?jié)為單位)。

sizeof(type)

sizeof 運算符僅適用于值類型,而不適用于引用類型。

sizeof 運算符僅可用于 unsafe 模式。

示例:

 
 
 
  1. unsafe
  2. {
  3. Console.WriteLine(“{0}”,sizeof(int));
  4. }

網(wǎng)站名稱:C#數(shù)據(jù)類型轉(zhuǎn)換的幾種形式
網(wǎng)頁路徑:http://www.5511xx.com/article/coeoohg.html