chenpeng

(1)C#中(class)和(struct)的异同|´・ω・)ノ
虽然结构与类的类型不一样,可是他们的基类型都是对象(object),c#中所有类型的基类型都是object虽然结构...
扫描右侧二维码阅读全文
31
2019/08

(1)C#中(class)和(struct)的异同|´・ω・)ノ

值类型与引用类型:

虽然结构与类的类型不一样,可是他们的基类型都是对象(object),c#中所有类型的基类型都是object
虽然结构的初始化也使用了New 操作符可是结构对象依然分配在堆栈上而不是堆上,如果不使用“新建”(new),那么在初始化所有字段之前,字段将保持未赋值状态,且对象不可用
继承性结构:

不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed声明,
可是结构是隐式的sealed .类:完全可扩展的,除非显示的声明sealed 否则类可以继承其他类和接口,自身也能被继承
结构:

没有默认的构造函数,但是可以添加构造函数
没有析构函数
没有 abstract 和 sealed(因为不能继承)
不能有protected 修饰符
可以不使用new 初始化
在结构中初始化实例字段是错误的
类:

有默认的构造函数

Last modification:August 31st, 2019 at 06:26 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment