香蕉视频app

香蕉视频appKeep on going never give up.

Let's Go

C# 學習筆記(19)隱式轉換與顯式轉換

C#Lonely2019-05-06 16:01:0750次0條

C#提供了兩種數據類型的相互轉換:隱式轉換與顯式轉換。

隱式轉換:當數據從“小類型”轉換成“大類型”時,被稱為隱式轉換。隱式轉換是由編譯器自動完成的,該轉換是一種類型安全的轉換,不會導致數據丟失,因此不需要人工干預進行轉換也不需要任何特殊的語法。

顯式轉換:當數據從“大類型”轉換為“小類型”時,被稱為顯示轉換也叫強制類型轉換(強轉),顯式轉換需要用戶明確地指定轉換的類型,且有可能導致精度丟失。

舉個最簡單的栗子來看代碼示例:

//隱式轉換
int a = 100;
double b = a; //double是浮點型,int是整型 ,浮點型值的范圍比整型值的范圍要大,當“小容器”的東西要裝進“大容器”時肯定能裝下嘛,所以安全轉換了。
Console.WriteLine(b); //輸出了100
             
//顯式轉換
double c = 300.985; 
int d = (int)c; //當double這個“大容器”里的東西要裝進int這個“小容器”的時候,就需要強制轉換了,裝不下的部分就丟失了。
Console.WriteLine(d); //輸出了300,小數部分丟失了

double e = 300;
int f = (int)e;
Console.WriteLine(f); //輸出了300
Console.ReadKey();

結論:

當被轉換類型的值的范圍小于轉換目標類型的值的范圍時可以進行隱式轉換,否則隱式轉換時編譯器會報異常。也就是說大存儲容量的數據類型可以容納小存儲容量的數據類型,反之則不行。

香蕉视频app隱式轉換要具備的條件:

1、被轉換類型的值范圍必須在目標類型的值范圍之內;

2、被轉換類型的值必須與目標類型兼容。


顯示轉換要具備條件:

1、被轉換類型的值要在目標類型的值范圍之內,如果超出目標類型的最大或最小值,則編譯器會拋出異常,轉換失敗。

2、被轉換類型的值同樣必須與目標類型互相兼容。


在使用強制轉換時要能夠明白可能會造成什么樣的損失,以及以合理的方式使用它們,才能在使用過程中造成不必要的損失。




暗錨,解決錨點偏移

文章評論

    嘿,來試試登錄吧!