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