c#中的类型转换
【程序编程相关:winXP SP2体验】 【推荐阅读:伟大架构师的秘密[转载]】 c# 出来也有些日子了,最近由于编程的需要,对 c# 的类型转换做了一些研究,其内容涉及 c# 的装箱/拆箱/别名.数值类型间相互转换.字符的 ascii 码与 unicode 码.数值字符串与数值之间的转换.字符串与字符数组/字节数组之间的转换.各种数值类型与字节数组之间的转换.十六进制数输出以及日期型数据的一些转换处理,在这里与大家分享—— 【扩展信息:安装Eclipse和Lomboz碰到的一】1. 装箱.拆箱还是别名
许多 c#.net 的书上都有介绍 int -> int32 是一个装箱的过程,反之则是拆箱的过程.许多其它变量类型也是如此,如:short <-> int16,long <-> int64 等.对于一般的程序员来说,大可不必去了解这一过程,因为这些装箱与拆箱的动作都是可以自动完成的,不需要写代码进行干预.但是我们需要记住这些类型之间的关系,所以,我们使用“别名”来记忆它们之间的关系.
c# 是全面向对象的语言,比 java 的面向对象都还彻底——它把简单数据类型通过默认的装箱动作封装成了类.int32.int16.int64 等就是相应的类名,而那些我们熟悉的.简单易记的名称,如 int.short.long 等,我们就可以把它称作是 int32.int16.int64 等类型的别名. 那么除了这三种类型之外,还有哪些类有“别名”呢?常用的有如下一些:bool -> system.boolean (布尔型,其值为 true 或者 false)
char -> system.char (字符型,占有两个字节,表示 1 个 unicode 字符) byte -> system.byte (字节型,占 1 字节,表示 8 位正整数,范围 0 ~ 255) sbyte -> system.sbyte (带符号字节型,占 1 字节,表示 8 位整数,范围 -128 ~ 127) ushort -> system.uint16 (无符号短整型,占 2 字节,表示 16 位正整数,范围 0 ~ 65,535) uint -> system.uint32 (无符号整型,占 4 字节,表示 32 位正整数,范围 0 ~ 4,294,967,295) ulong -> system.uint64 (无符号长整型,占 8 字节,表示 64 位正整数,范围 0 ~ 大约 10 的 20 次方) short -> system.int16 (短整型,占 2 字节,表示 16 位整数,范围 -32,768 ~ 32,767) int -> system.int32 (整型,占 4 字节,表示 32 位整数,范围 -2,147,483,648 到 2,147,483,647) long -> system.int64 (长整型,占 8 字节,表示 64 位整数,范围大约 -(10 的 19) 次方 到 10 的 19 次方) float -> system.single (单精度浮点型,占 4 个字节) double -> system.double (双精度浮点型,占 8 个字节)我们可以用下列代码做一个实验:
... 下一页