结构可能看似类,但存在一些重要差异,应引起注意。首先,类为引用类型,而结构为值类型。
在类上调用“新建”(New) 运算符时,它将在堆上进行分配。但是,当实例化结构时,将在堆栈上创建结构。
鉴于此原因,向方法传递结构时,结构将通过值传递,而不是作为引用传递。
结构可以声明构造函数,但它们必须带参数。声明结构的默认(无参数)构造函数是错误的。
结构在堆栈中创建,并且您不是处理对结构的引用,而是直接处理结构。每当需要一种将经常使用的类型,而且大多数情况下该类型只是一些数据时,结构可能是最佳选择。
public struct structTest
{
public int x;
}
...
private structTest aaa; // 此时结构体已经在堆栈中创建
...
可以通过聪明地使用结构来增强性能。
博客介绍了结构与类的重要差异,类是引用类型在堆上分配,结构是值类型在堆栈上创建,传递时结构通过值传递。还指出结构可声明带参构造函数,默认无参构造函数声明错误。合理使用结构可增强性能。
2252

被折叠的 条评论
为什么被折叠?



