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