分享

C#中类和结构体区别

 zww_blog 2013-11-26

C#中类和结构体区别:

类是有行动、方法和成员的有机体,而结构体是活生生的有机体。

1、  值类型和引用类型

类是引用类型,继承System.Object,数据存储在堆上,结构体值类型,继承System.ValueType,数据存储在堆栈上;堆栈上的对象有编译器自动创建和销毁,所以堆栈的执行效率要高些,但是堆栈资源有限,不适合出力复杂的大的逻辑,所以结构体处理小对象,类处理复杂的商务逻辑;类创建一个新对象,只是创建了一个引用,新对象的修改同时也会反映到源对象上,而结构体创建一个新对象后是创造源对象的一个副本,新对象的任何修改不会反应到源对象上。

2、继承性

类可完全扩展,可以继承基类和接口,也可以被继承,除非显示被声明为sealed.

结构体不能继承类或者结构体,虽然没有显示声明为sealed但是默认为sealed,但是可以继承接口

3、  内部结构

类有默认的构造函数、析构函数,可以使用abstract,sealed,protect等修饰符,必须用new初始化;

结构体没有默认的构造函数,没有析构函数,可以自定义带参数的构造函数来初始化字段,但是不能定义不带参数的构造函数,不能初始化实例字段,可以不用new初始化;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多