C#型別轉換


型別轉換可將一種型別的資料轉換為另一種型別。它也被稱為型別鑄造。在 C# 中,型別轉換有兩種形式:

  • 隱式型別轉換 - 這種型別的轉換由 C# 以型別安全的方式執行。例如,從小到大的整數型別的轉換和從派生類到基礎類別的轉換。
  • 顯式型別轉換 - 這種型別的轉換由使用預定義函式的使用者明確定義來完成,顯式轉換需要轉換運算子。

以下範例顯示了顯式型別轉換用法:

using System;
namespace TypeConversionApplication 
{
   class ExplicitConversion 
   {
      static void Main(string[] args) 
      {
         double d = 9999.98; 
         int i;

         // cast double to int.
         i = (int)d;
         Console.WriteLine(i);
         Console.ReadKey();
      }
   }
}

當編譯和執行上述程式碼時,會產生以下結果:

9999

C# 型別轉換方法

C# 提供以下內建型別轉換方法:

序號 方法 描述
1 ToBoolean() 如果可能,將型別轉換為布林值。
2 ToByte() 將型別轉換為位元組型別值。
3 ToChar() 如果可能,將型別轉換為單個Unicode字元。
4 ToDateTime() 將型別(整數或字串型別)轉換為日期時間結構。
5 ToDecimal() 將浮點或整數型別轉換為十進位制型別。
6 ToDouble() 將型別轉換為Double型別。
7 ToInt16() 將型別轉換為16位整數。
8 ToInt32() 將型別轉換為32位整數。
9 ToInt64() 將型別轉換為64位整數。
10 ToSbyte() 將型別轉換為有符號位元組型別。
11 ToSingle() 將型別轉換為小浮點數。
12 ToString() 將型別轉換為字串。
13 ToType() 將型別轉換為指定的型別。
14 ToUInt16() 將型別轉換為unsigned int型別。
15 ToUInt32() 將型別轉換為unsigned double型別。
16 ToUInt64() 將型別轉換為無符號大整數。

以下範例將各種值型別轉換為字串型別:

using System;
namespace TypeConversionApplication 
{
   class StringConversion
   {
      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