C#中类与结构的区别
在C#中,类是功能最为强大的数据类型,类定义了数据类型的数据和行为。一下示例代码是在创建Person类中使用void定义一个无返回值类型的CheckName方法:
public class Person
{
public string name; //定义类成员
public void CheckName()
{
if(string.IsNullOrEmpty(name))
{
name = "姓名未登记";
}
}
}
在实际生活中我们经常把一组相关的信息放在一起。把一系列相关的变量组织成为一个单一实体的过程,我们称为生成结构的过程。这个单一实体的类型就叫做结构类型,每一个变量称为结构成员。我们使用的简单类型(int、double 和 bool)实际上都是结构类型,在C#中,结构类型采用关键字“struct”来声明。示例代码如下:
struct Employee
{
public string empName; //员工姓名
public uint age; //年龄
public string department; //部门
public uint score; //积分
}
结构与类有一下3个方面的区别:
- 结构是值类型,而类是引用类型
- 结构不支持继承,而类完全可以被其它类继承,其自身也能被继承。 结构不能定义默认的构造函数,也没有析构函数,并且不能有abstract、virtual 或 protected修饰符,而类有默认的构造函数和析构函数。
结构与类虽然初始化都能使用new关键字,但它们之间的区别很大,主要体现在3个方面:结构是值类型,而类是引用类型;结构不能被继承而类可以;结构与类的内部结构不同。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具