【MCTS】Application Development Foundation 学习笔记---

 Focus值类型的使用


在.NET Framework 中最简单的数据类型 基本数字类型和布尔类型都是值类型。


值类型变量在内存中直接存储数据而不是该数据存储位置的引用地址。


值类型的数据存储在一个名叫栈的内存区域中,运行环境能对直接他们进行快速的创建、读取、更新以及删除操作。

 

通用的值类型有三种分别是:


内部定义基本类型、用户自定义类型和枚举类型。

 

内部定义值类型

 

.NET Framework 提供了一些最基本的内部定义值类型,其他的类型都是用他们来组合创建的。


所有的内建数值类型都是值类型,但你要以工作需要的值的大小和精度要求为基础来选取你数值类型。


下面前6个类型为常用的数值类型 后3个则更能增加数据的精确度。

 

System.SByte     简称sbyte                长度1个字节  表示范围在-128~127                  通常用于声明有符号字节数值


System.Byte       简称byte                  长度1个字节  表示范围在0~255                         通常用于声明无符号字节数值


System.Int16       简称short                长度2个字节  表示范围在 -32768 到 32767     通常用于声明一些内部操作数值和其他一些特殊数值
System.Int32       简称Integer/int         长度4个字节  表示范围在 -2147483648 到 2147483647        通常用于表示几乎所有日常数值和计数数值
System.UInt32    简称UInteger/uint   长度4个字节  表示范围在0 到 4294967295                        通常用于声明日常所用的所有正数数值
System.Int64       简称long                  长度8个字节  表示范围在-9223372036854775808 到 9223372036854775807         通常用于声明超大型数值
System.Single      简称single/float       长度4个字节  表示范围在-3.402823E+38 到 3.402823E+38                                   通常用于声明浮点型数值
System.Double    简称double              长度8个字节  表示范围在-1.79769313486232E+308 到 1.79769313486232E+308  通常用于声明精确的超大型浮点数值
System.Decimal   简称decimal             长度16个字节 表示范围在-79228162514264337593543950335 到79228162514264337593543950335  通常用于声明财务和科学计算需要的大的精确数值

 

注:

    操作系统优化了32位整型数据(Int32 和 UInt32),所以通常用这两种类型来定义计数数据和别的经常被访问整型数值。


   对于浮点型数据的操作Double 类型是最有效的,因为计算机的硬件对其进行了优化。

 

其他的值类型还有:


System.Char             简称char        长度2个字节                 通常用于定义单个字符


System.Boolean        简称bool       长度4个字节                 定义的值固定为True/False


System.IntPtr           ---                  长度由平台决定            用于定义表示内存地址变量


System.DateTime     简称date       长度8个字节                范围在1/1/0001 12:00:00 AM 到 12/31/9999 11:59:59 PM  用于表示时间。

 

 

在.NET Framework 中定义了300多个值类型,不过常用的就是上面说的这些。

 


当值类型的两个变量之间赋值操作时一个变量的数值会被复制到另一个变量的栈中,以两个相同的存储值存在。

 

虽然值类型表现为简单数值,但是它依然拥有对象的功能。你可以通过它来调用方法比如ToString()方法。这都是继承了System.Object 基类所赐。

 

.NET Framework 中所有的类型都派生于System.Object
这种关系可以帮助创建能过在整个Framework中使用的通用类型系统。

 

Framework 2.0 告诉我们: 如果想有能力决定一个变量被赋值时间,那么就定义一个nullable变量吧。


        比如:如果你需要定义一个存储用户回答是与否的问题答案的变量在一个表单中,可是用户没有做任何回答,这样这个变量就需要存储一个空值的答案。
        你可以这样定义:


            Nullable<bool> b = null;
            或者写成

            bool? b = null;

如此以来我们就可以存储用户没有作答的问题答案了。同时我们还可以通过该变量的HasValue方法和Value字段去判断该变量是否被赋值并读取它。


if(b.HasValue){
     Console.WriteLine("b is {0}.",b.Value);
}
else{
     Console.WriteLine(" b is not set.");
}

 

接下来该看 怎样自定义值类型变量了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值