在C#中,结构体(struct)是一种值类型,它的内存分配发生在栈上。当你创建一个结构体实例时,它的内存会在栈上分配。结构体的内存分配和回收速度非常快,因为它们是值类型,不需要额外的内存开销来存储引用。
以下是一个简单的C#结构体示例:
public struct MyStruct
{
public int X;
public int Y;
}
要创建一个MyStruct
实例并分配内存,你可以这样做:
MyStruct myStruct = new MyStruct { X = 10, Y = 20 };
在这个例子中,myStruct
是一个MyStruct
类型的变量,它在栈上分配内存。当你将myStruct
赋值给另一个变量或传递给方法时,会创建一个新的结构体副本,而原始结构体的内存仍然保留在栈上。