struct 与class一样不?

hiweiyi2000 2003-06-30 04:00:06
using System;

class RefTypeRectangle
{
public int Width;
public int Height;
}
struct ValTypeRectangle
{
public int Width;
public int Height;
}
class RafValTest
{
public static void Main()
{
RefTypeRectangle rect1=new RefTypeRectangle ();
rect1.Width =10;
rect1.Height =15;
RefTypeRectangle rect2=rect1;
Console.WriteLine ("Dimension of rect2 are "+rect2.Width +"x"+rect2.Height );
Console.WriteLine ("Changing dimensions of rect1...");
rect1.Width =20;
rect1.Height =25;
Console.WriteLine ("Dimension of rect2 now are "+rect2.Width +"x"+rect2.Height );

ValTypeRectangle rect3=new ValTypeRectangle ();
ValTypeRectangle rect4=rect3;
Console.WriteLine ("Dimension of rect4 are "+rect4.Width +"x"+rect4.Height );
Console.WriteLine ("Changing dimensions of rect3...");
rect3.Width =3;
rect3.Height =5;
Console.WriteLine ("Dimensions of rect4 now are "+rect4.Width +"x"+rect4.Height );
Console.ReadLine ();
return;
}
}



为什么后半段计算出来的是:0X0
...全文
73 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pretender1982 2003-08-15
struct时值类型,
class时引用类型。
必然不太一样,但有联系。。
自己是着解决这问题。。。
回复
kuangren 2003-08-15
当然不一样了,struct是结构,class是类,是两个不同的概念啊
回复
shi_yingbo 2003-08-15
大家可以从语意的层面上来比较一下struct和class不同的地方?
回复
CloneCenter 2003-07-01
帮助上的话:
ms-help://MS.VSCC/MS.MSDNVS.2052/vbcn7/html/vaconStructuresAndClasses.htm
回复
CloneCenter 2003-07-01
学习一下,现在就翻帮助!
回复
lovered 2003-07-01
[v]
回复
jinus 2003-07-01
两者在内存中的位置不一样,
两者在作为参数被引用时的传递方式不一样。
两者在初始化时的方法不一样。
其余的就没有什么不同了。
回复
smartcreater01 2003-07-01
struct是值类型,class是引用类型
回复
另类唐伯虎 2003-06-30
怎么大家都那么会解释啊!
回复
ArLi2003 2003-06-30
agree
回复
XDarkCat 2003-06-30
在C++里还好点,但在C#里,struct和class可不能混着用。struct是值类型的,内存空间是在堆栈上分配的;而class是引用类型的,空间是在托管堆里分配的。
回复
ljj169 2003-06-30
struct是一种特殊的class
她的成员全是public类型
struct可以代替成class
但class不一定可以代替成struct
回复
zhongwanli 2003-06-30
两种说法,我都同意。
举个例吧,就比如 Student 吧 他可以看作为一个类
而 student 类中的一些属性,就举三个吧
学号、姓名、年龄 。
它们三个值类型的属性就可以被定义为一个结构
struct Student{string ID,string name,int age}
回复
yuaiwu 2003-06-30
在引用的时候就知道不同了,sturct是值引用,class是指针引用
回复
reformer 2003-06-30
struct是值类型,class是对象类型(是不是这么说?)
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2003-06-30 04:00
社区公告

让您成为最强悍的C#开发者