C# 類型轉換
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(); ? ? ? ? ? ? ? ? ? ? } ? ? } }
當上面的代碼被編譯和執行時,它會產生下列結果:
5673
1. 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(); ? ? ? ? ? ? ? ? ? ? } ? ? } }
當上面的代碼被編譯和執行時,它會產生下列結果:
75 53.005 2345.7652 true