C# 類型轉(zhuǎn)換
c# 類型轉(zhuǎn)換
類型轉(zhuǎn)換從根本上說是類型鑄造,或者說是把數(shù)據(jù)從一種類型轉(zhuǎn)換為另一種類型。在 c# 中,類型鑄造有兩種形式:
- 隱式類型轉(zhuǎn)換 - 這些轉(zhuǎn)換是 c# 默認(rèn)的以安全方式進(jìn)行的轉(zhuǎn)換, 不會(huì)導(dǎo)致數(shù)據(jù)丟失。例如,從小的整數(shù)類型轉(zhuǎn)換為大的整數(shù)類型,從派生類轉(zhuǎn)換為基類。
- 顯式類型轉(zhuǎn)換 - 顯式類型轉(zhuǎn)換,即強(qiáng)制類型轉(zhuǎn)換。顯式轉(zhuǎn)換需要強(qiáng)制轉(zhuǎn)換運(yùn)算符,而且強(qiáng)制轉(zhuǎn)換會(huì)造成數(shù)據(jù)丟失。
下面的范例顯示了一個(gè)顯式的類型轉(zhuǎn)換:
namespace typeconversionapplication { ? ? class explicitconversion ? ? { ? ? ? ? static void main(string[] args) ? ? ? ? { ? ? ? ? ? ? double d = 5673.74; ? ? ? ? ? ? int i; ? ? ? ? ? ? // 強(qiáng)制轉(zhuǎn)換 double 為 int ? ? ? ? ? ? i = (int)d; ? ? ? ? ? ? console.writeline(i); ? ? ? ? ? ? console.readkey(); ? ? ? ? ? ? ? ? ? ? } ? ? } }
當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:
5673
1. c# 類型轉(zhuǎn)換方法
c# 提供了下列內(nèi)置的類型轉(zhuǎn)換方法:
序號 | 方法 & 描述 |
---|---|
1 | toboolean如果可能的話,把類型轉(zhuǎn)換為布爾型。 |
2 | tobyte把類型轉(zhuǎn)換為字節(jié)類型。 |
3 | tochar如果可能的話,把類型轉(zhuǎn)換為單個(gè) unicode 字符類型。 |
4 | todatetime把類型(整數(shù)或字符串類型)轉(zhuǎn)換為 日期-時(shí)間 結(jié)構(gòu)。 |
5 | todecimal把浮點(diǎn)型或整數(shù)類型轉(zhuǎn)換為十進(jìn)制類型。 |
6 | todouble把類型轉(zhuǎn)換為雙精度浮點(diǎn)型。 |
7 | toint16把類型轉(zhuǎn)換為 16 位整數(shù)類型。 |
8 | toint32把類型轉(zhuǎn)換為 32 位整數(shù)類型。 |
9 | toint64把類型轉(zhuǎn)換為 64 位整數(shù)類型。 |
10 | tosbyte把類型轉(zhuǎn)換為有符號字節(jié)類型。 |
11 | tosingle把類型轉(zhuǎn)換為小浮點(diǎn)數(shù)類型。 |
12 | tostring把類型轉(zhuǎn)換為字符串類型。 |
13 | totype把類型轉(zhuǎn)換為指定類型。 |
14 | touint16把類型轉(zhuǎn)換為 16 位無符號整數(shù)類型。 |
15 | touint32把類型轉(zhuǎn)換為 32 位無符號整數(shù)類型。 |
16 | touint64把類型轉(zhuǎn)換為 64 位無符號整數(shù)類型。 |
下面的范例把不同值的類型轉(zhuǎn)換為字符串類型:
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(); ? ? ? ? ? ? ? ? ? ? } ? ? } }
當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:
75 53.005 2345.7652 true