值类型——《.NET 2.0面向对象编程揭秘 》

所有的值类型都从一个特殊的类ValueType继承而来,而ValueType又继承自object类型
虽然所有的值类型是从ValueType类继承而来,但是所有的值类型不可再派生出子类型了
.NET Framework中值类型的分类

要注意区分C#语言中的struct与图4-3中结构类型的差别
以下C#代码定义了一个struct类型,名字叫做MyPoint,它是属于“用户自定义类型”这一分支的。

public struct MyPoint

{

    public int x;

    public int y;

}

值类型变量之间的赋值,其含义是变量之间的值复制。请看以下代码:

MyPoint p1,p2;

p1.x = 100;

p1.y = 200;

p2 = p1;

Console.WriteLine("({0},{1})", p2.x, p2.y); //将输出(100,200)

值类型拥有一个隐含的构造函数,自动初始化其成员,.NET Framework规定数字类型变量一律初始化为0。

但C#比较特殊,它要求所有值变量必须初始化后才能使用,例如,以下代码无法通过编译。

int i;

i = i + 1;

需改为:

int i=new int();    //调用值类型的默认构造函数,初始化为0

i = i + 1;

或者给值类型变量赋一个初值:

int i=10;    //调用值类型的构造函数,将初值设为10

i = i + 1;

 

转载于:https://www.cnblogs.com/itgmhujia/archive/2008/04/09/1145284.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值