您的位置:首页 > 编程语言 > C#

c#中类和结构体的区别

2009-10-23 21:42 253 查看
C#中类和结构体区别:
类是有行动、方法和成员的有机体,而结构体是活生生的有机体。
1、 值类型和引用类型
类是引用类型,继承System.Object,数据存储在堆上,结构体值类型,继承System.ValueType,数据存储在堆栈上;堆栈上的对象有编译器自动创建和销毁,所以堆栈的执行效率要高些,但是堆栈资源有限,不适合出力复杂的大的逻辑,所以结构体出力小对象,类处理复杂的商务逻辑;类创建一个新对象,只是创建了一个引用,新对象的修改同时也会反映到源对象上,而结构体创建一个新对象后是创造源对象的一个副本,新对象的任何修改不会反应到源对象上。
2、继承性
类可完全扩展,可以继承基类和接口,也可以被继承,除非显示被声明为sealed.
结构体不能继承类或者结构体,虽然没有显示声明为sealed但是默认为sealed,但是可以继承接口
3、 内部结构
类有默认的构造函数、析构函数,可以使用abstract,sealed,protect等修饰符,必须用new初始化;
结构体没有默认的构造函数,没有析构函数,可以自定义带参数的构造函数来初始化字段,但是不能定义不带参数的构造函数,不能初始化实力字段,可以不用new初始化;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: