C# 類型轉換
類型轉換從根本上說是類型鑄造,或者說是把數據從一種類型轉換為另一種類型。在 C# 中,類型鑄造有兩種形式:
- 隱式類型轉換 - 這些轉換是 C# 默認的以安全方式進行的轉換, 不會導致數據丟失。例如,從小的整數類型轉換為大的整數類型,從派生類轉換為基類。
- 顯式類型轉換 - 顯式類型轉換,即強制類型轉換。顯式轉換需要強制轉換運算符,而且強制轉換會造成數據丟失。
下麵的實例顯示了一個顯式的類型轉換:
實例
namespace TypeConversionApplication
{
class ExplicitConversion
{
static void Main(string[] args)
{
double d = 5673.74;
int i;
// 強制轉換 double 為 int
i = (int)d;
Console.WriteLine(i);
Console.ReadKey();
}
}
}
{
class ExplicitConversion
{
static void Main(string[] args)
{
double d = 5673.74;
int i;
// 強制轉換 double 為 int
i = (int)d;
Console.WriteLine(i);
Console.ReadKey();
}
}
}
當上面的代碼被編譯和執行時,它會產生下列結果:
5673
C# 類型轉換方法
C# 提供了下列內置的類型轉換方法:
序號 | 方法 & 描述 |
---|---|
1 | ToBoolean 如果可能的話,把類型轉換為布爾型。 |
2 | ToByte 把類型轉換為位元組類型。 |
3 | ToChar 如果可能的話,把類型轉換為單個 Unicode 字元類型。 |
4 | ToDateTime 把類型(整數或字串類型)轉換為 日期-時間 結構。 |
5 | ToDecimal 把浮點型或整數類型轉換為十進位類型。 |
6 | ToDouble 把類型轉換為雙精度浮點型。 |
7 | ToInt16 把類型轉換為 16 位整數類型。 |
8 | ToInt32 把類型轉換為 32 位整數類型。 |
9 | ToInt64 把類型轉換為 64 位整數類型。 |
10 | ToSbyte 把類型轉換為有符號位元組類型。 |
11 | ToSingle 把類型轉換為小浮點數類型。 |
12 | ToString 把類型轉換為字串類型。 |
13 | ToType 把類型轉換為指定類型。 |
14 | ToUInt16 把類型轉換為 16 位無符號整數類型。 |
15 | ToUInt32 把類型轉換為 32 位無符號整數類型。 |
16 | ToUInt64 把類型轉換為 64 位無符號整數類型。 |
下麵的實例把不同值的類型轉換為字串類型:
實例
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();
}
}
}
{
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