C#的类与结构体是初学者很容易混淆的两个概念,本文以表格的方式整理了两者的相同点和不同点。
博文首发地址:http://bbs.lanou3g.com/forum.php?mod=viewthread&tid=5151&extra=page%3D1
大分类 |
小分类 |
结构体
|
类
|
特点
|
变量类型
|
值类型
|
引用类型
|
创建方式
|
new / 直接声明
|
new
|
内存位置
|
堆栈或内敛
|
托管堆
|
优点
|
小巧、轻便、高性能
|
功能强大
|
数据成员
|
字段
|
可以有,但不能赋值
|
可以有,可以赋值
|
常量
|
有
|
有
|
事件
|
有
|
有
|
函数成员
|
属性
|
有
|
有
|
方法
|
有
|
有
|
虚方法
|
无
|
有
|
抽象方法
|
无
|
有
|
构造器
|
有,但不能重写无参(默认的)构造器
|
有
|
析构器
|
无
|
有
|
运算符重载
|
有
|
有
|
索引器
|
有
|
有
|
面向对象基本特征
|
封装
|
支持
|
支持
|
继承
|
不支持,但结构派生于System.Object
|
支持
|
多态
|
不支持
|
支持
|
【C#】结构体与类的比较
原文:http://blog.csdn.net/duzixi/article/details/43848583