编辑
2023-05-08
编程语言
00

一、GC 的目的

垃圾回收器(Garbage Collector,简称 GC)是 .NET CLR(公共语言运行时)中的一项重要机制,用于自动管理内存。其主要职责:

  • 自动释放不再使用的对象内存
  • 防止内存泄漏
  • 避免使用已释放的对象
编辑
2023-04-02
编程语言
00

String是特殊的引用类型

string 在 C# 中本质是 引用类型,但由于其 不可变性(Immutable),它表现出类似 值类型 的行为。

编辑
2023-04-01
编程语言
00

C# 结构体(struct)与类(class)的区别

在 C# 中,结构体(struct)类(class) 都可以用来定义数据结构,但它们在内存分配、继承、可变性等方面存在明显区别。


1. 主要区别

区别点结构体(struct)类(class)
类型值类型(Value Type)引用类型(Reference Type)
内存分配分配在**栈(Stack)**上(如果是局部变量)分配在**堆(Heap)**上(使用 new 创建)
默认访问修饰符public,结构体成员不能声明为Protectedprivate
赋值方式值拷贝(赋值时创建副本)引用拷贝(赋值时复制引用,多个引用指向同一对象)
继承不支持继承(不能被其他 struct 继承)支持继承(可以继承自其他 class
接口可以实现接口可以实现接口
构造函数不能显式的定义无参构造函数可以定义无参构造函数
析构函数不支持析构函数支持析构函数(由 GC 管理,~ClassName()
适用场景小型数据对象(如 Vector3Color复杂对象、需要共享引用的对象

编辑
2023-04-01
编程语言
00

1. 定义方式

  • 抽象类:使用 abstract 关键字定义,不能被实例化,通常包含普通方法(有实现)和抽象方法(无实现)。
  • 接口:使用 interface 关键字定义,默认所有方法都是 public 且没有实现(C# 8.0 及以上支持默认实现)。
编辑
2023-04-01
编程语言
00