为什么结构中不需要构造函数?
为什么 GC 不删除结构?
结构是一种值类型,因此它不受 GC 管理。结构可以声明构造函数,但它们必须带参数。结构的副本由编译器自动创建和销毁,因此不需要默认构造函数
结构是一种值类型,这意味着,无论何时访问它或传递它,它的值都会被传递。(“复制”)
另一方面,类是引用类型。如果你传递它,只传递对它的引用(所以现在两者都使用同一个对象)
当您处理类及其实例作为引用时,GC 必须检查是否已收集所有引用。这在值类型中是不需要的,因为它们只能有一个引用。这意味着,如果收集了基础对象,则会自动收集这些对象。