c# 结构体struct注意事项
c# 结构struct注意事项
1,不能定义无参构造函数,因为隐式的默认无参构造函数不能被重写
2,当为某个结构编写带有参数的构造函数时,必须显式初始化所有成员,否则编译不过。
3,不允许在结构的实例字段声明包括变量的初始值设定项(用构造函数完成初始化)
4,对结构进行实例化时,使用new运算符会调用构造函数,也可以不使用 new 运算符, 在这种情况下,没有调用任何构造函数
5,结构不允许声明析构函数
6,结构的成员不能是其自身(不能嵌套)
struct Node
{
int data;
Node next; // 编译错误
}
7,不同结构体也不能有相互依赖
struct A { B b; }
struct B { A a; }//编译错误