讓我們一起學習C# 類型轉換
本文轉載自微信公眾號「后端Q」,作者conan 。轉載本文請聯系后端Q公眾號。
類型轉換從根本上說是類型鑄造,或者說是把數據從一種類型轉換為另一種類型。在 C# 中,類型鑄造有兩種形式:
隱式類型轉換 - 這些轉換是 C# 默認的以安全方式進行的轉換, 不會導致數據丟失。例如,從小的整數類型轉換為大的整數類型,從派生類轉換為基類。
顯式類型轉換 - 顯式類型轉換,即強制類型轉換。顯式轉換需要強制轉換運算符,而且強制轉換會造成數據丟失。
下面的實例顯示了一個顯式的類型轉換:
- static void Main(string[] args)
- {
- double d = 5673.74;
- int i;
- // 強制轉換 double 為 int
- i = (int)d;
- Console.WriteLine(i);
- Console.ReadKey();
- }
當上面的代碼被編譯和執行時,它會產生下列結果:
- 5673
下面的實例把不同值的類型轉換為字符串類型:
- static void Main(string[] args)
- {
- int i = 75;
- float f = 53.005f;
- double d = 2345.7652;
- bool b = true;
- Console.WriteLine(i.ToString());
- Console.WriteLine(f.ToString());
- Console.WriteLine(d.ToString());
- Console.WriteLine(b.ToString());
- Console.ReadKey();
- }
當上面的代碼被編譯和執行時,它會產生下列結果:
- 75
- 53.005
- 2345.7652
- True
在C#中,我們可以看到三種強制類型轉換,比如強制轉換成有符號32位整型,可以找到下面三種方式:
①(int)()
②Convert.ToInt32()
③int.Parse()
as 轉換符
as 操作符的工作方式與強制類型轉換一樣 ,只是它永遠不會拋出一個異常,如果對象不能轉換,結果就是null,強制轉換則會拋出異常。