您的位置:知识库 »

类和结构的区别?

作者: Clark Zheng  来源: 博客园  发布时间: 2008-09-10 19:40  阅读: 7304 次  推荐: 1   原文链接   [收藏]  

系列文章导航:

静态成员和非静态成员的区别?

const 和 static readonly 区别?

extern 是什么意思?

abstract 是什么意思?

internal 修饰符起什么作用?

sealed 修饰符是干什么的?

override 和 overload 的区别?

什么是索引指示器?

new 修饰符是起什么作用?

this 关键字的含义?

可以使用抽象函数重写基类中的虚函数吗?

C#基础概念之密封类,属性访问器,接口

类和结构的区别?

C#基础概念之抽象类,接口,接口多继承

别名指示符是什么?

如何手工释放资源?

C#基础概念之P/Invoke,StringBuilder 和 String

explicit 和 implicit 的含义?

params 有什么用?

什么是反射?


16.类和结构的区别?
答:

 

类:
类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存
类有构造和析构函数
类可以继承和被继承

结构:
结构是值类型在栈上分配(虽然栈的访问速度比较堆要快,但栈的资源有限放),结构的赋值将分配产生一个新的对象。
结构没有构造函数,但可以添加。结构没有析构函数
结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口

示例:
根据以上比较,我们可以得出一些轻量级的对象最好使用结构,但数据量大或有复杂处理逻辑对象最好使用类。
如:Geoemtry(GIS 里的一个概论,在 OGC 标准里有定义) 最好使用类,而 Geometry 中点的成员最好使用结构

Code

 

结果:
X: 1, Y: 2, Z: 3
X: 4, Y: 5, Z: 6
X: 7, Y: 8, Z: 9
X: 7, Y: 8, Z: 9

1
0

热门文章

    最新文章

      最新新闻

        热门新闻