今天做了个题。是这样的:
问输出结果。
实验了一下,输出的是"18,小芳"。把"struct"改成"class",别的不用改,运行。那么输出就变成了"30,小燕"。这就说明了struct是值类型,不是引用类型。
上网查资源。于是发现了struct和class的区别。
http://hi.baidu.com/heiru/blog/item/3f20d243e6c9601372f05d5c
总结的很好。
有这么几点不同:
1.struct
2.struct
3.struct
4.struct
5.struct
有人问“为什么不能继承System.Guid
比如定义如下结构和类
public
{
}
public
{
}
这段代码将抛出编译错误内容为
再如下面代码:
public
{
}
public
{
}
编译错误如下:
下面列举出微软提供的例子供大家学习
//Copyright
//
using
class
{
}
struct
{
}
class
{
{
{
{
}
这个例子的输出是:
a.x
从这个例子例子可以看出,当一个结构被传递到一个方法时,被传递的只不过是一个副本,而一个类被传递时,被传递的是一个参考.所以a.x=输出的是1,不变,而b.x却变了。
还有的区别就是结构可以不用new来实例化,而类却要.如果你不用new来实例化一个结构,那么所有的字段将仍然处于未分配状态,直到所有的字段被初始化.和类一样,结构可以执行接口.更重要的是,结构没有继承性,一个结构不能从别的类继承,也不能是别的类的基类。