值类型_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 值类型

值类型

 2010/11/29 9:14:28  blue_halo  http://eroshn.javaeye.com  我要评论(0)
  • 摘要:一、什么是值类型?1、值类型是c#内置的表示简单数据的类型。2、值类型的变量其实是函数的内部变量,所以存储在堆栈中。①因为在c#中没有全局变量,所有的变量都必须在对象或者函数存在。②当值类型变量在对象中存在时,值类型变量所在的整个对象都在堆中。③在函数中的值类型变量就是局部变量,当然是在堆栈中。④没有把简单的值类型变量也当做对象来处理是由于效率的考虑。二、值类型有哪些?c#类型名CTS类型名备注boolSystem.Booleantrue和false,不能写0和1charSystem
  • 标签:值类型
一、什么是值类型 ? ? ? ? ? ? ? ? 1、值类型是c#内置的表示简单数据的类型。 ? ? ? ? ? 2、值类型的变量其实是函数的内部变量,所以存储在堆栈中。 ? ? ① 因为在c#中没有全局变量,所有的变量都必须在对象或者函数存在。 ? ? ② 当值类型变量在对象中存在时,值类型变量所在的整个对象都在堆中。 ? ? ③ 在函数中的值类型变量就是局部变量,当然是在堆栈中。 ? ? ? ④ 没有把简单的值类型变量也当做对象来处理是由于效率的考虑。 ? ? ? ? ? ? ? ? ? ? ? 二、值类型有哪些? ? ? ? ? ? ? ? ? c#类型名 CTS类型名 备注 ? ? ? ? ? bool System.Boolean true和false,不能写0和1 ? ? ? char System.Char 双字节unicode ? ? ? ? sbyte System.Sbyte 单字节有符号 ? ? ? ? short System.Int16 双字节有符号 ? ? ? ? int System.Int32 四字节有符号 ? ? ? ? long System.Int64 八字节有符号 ? ? ? ? byte System.Sbyte 单字节无符号 ? ? ? ? ushort System.Int16 双字节无符号 ? ? ? ? uint System.Int32 四字节无符号 ? ? ? ? ulong System.Int64 八字节无符号 ? ? ? ? float System.Single 32位单精度 ? ? ? ? double System.Double 64位双精度 ? ? ? ? decimal System.Decimal 128位高精度 ? ? ? ? ? ? ? ? ? ? ? ? 三、字面常量类型 ? ? ? ? ? ? ? ? 1、字面常量如何表示? ? ? ? ? ? ? 十进制 300 ? ? ? ? ? ? ? 十六进制 0x12c 0X12C ? ? ? ? ? ? 浮点数 300.0 3.00E+02 ? ? ? ? ? ① 不支持八进制,0454和454相同,而不是300 ? ? ? ? ② 不支持二进制,100101100b会导致编译错误 ? ? ? ? ? 2、显示的指定字面常量的类型。 ? ? ? ? ? ① 字面常量分为整形字面常量和浮点型字面常量。 ? ? ? ? ② 整形字面常量默认是int类型。 ? ? ? ? ? ③ int类型字面常量在不超过变量范围的情况下可以赋值给其他值类型变量。 ? ? ④ 浮点型字面默认是double类型。 ? ? ? ? ? ⑤ 加上一些后缀,就可以对字面常量进行更多的限制 ? ? ? ? L代表长整形,U,u代表无符号,F,f代表单精度浮点数,M,m代表高精度浮点数。 ? ⑥ 对字面常量加上后缀以后,编译器就会对字面常量类型和变量类型进行严格匹配检查。例如: sbyte a=10u,虽然没有超过范围,也会编译出错。 ? ? ? ? ? ? ? ? ? ? ? ? ? 四、值类型变量之间的强制转换。 ? ? ? ? ? ? 1、隐式转换会在小字节到大字节之间展开。 ? ? ? ? ? 2、隐式转换不会在有符号到无符号之间展开,就算所占长度一样也不行。 ? ? 3、隐式转换不会在bool类型到其他类型之间展开。 ? ? ? ? 4、强制类型转换和c里的一样。 ? ? ? ? ?
  • 相关文章
发表评论
用户名: 匿名