类和结构的区别

类和结构的区别


结构是值类型,类是引用类型。

结构不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed 声明,可是结构是隐式的sealed ,   类则完全可扩展的,除非显示的声明sealed 否则类可以继承其他类和接口,自身也能被 继承 。 注:虽然结构不能被继承 可是结构能够继承接口,方法和类继承接口一样。


结构没有默认的构造函数,但是可以添加构造函数 ,结构没有析构函数, 不能有protected 修饰符,  可以不使用new 初始化,  在结构中初始化实例字段是错误的 。 类则 有默认的构造函数和有析构函数 , 有protected 修饰符, 必须使用new 初始化。

 对于大量的逻辑的对象,创建类要比创建结构好一些 , 结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。   在表现抽象和多级别的对象层次时,类是最好的选择 ,  大多数情况下该类型只是一些数据时,结构是最佳的选择。



-----------摘自百度文库《c#中结构与类的区别》


阅读更多
个人分类: .net c#
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

类和结构的区别

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭