C# 结构体初始化开辟空间
时间: 2023-11-29 17:46:25 浏览: 214
在C#中,结构体的初始化和类有所不同。结构体可以使用默认构造函数进行初始化,也可以使用对象初始化器进行初始化。当使用默认构造函数时,结构体的所有字段都将被初始化为其默认值。而使用对象初始化器时,可以为结构体的每个字段指定一个值。结构体的初始化不需要使用new关键字,因为结构体是值类型,它们在声明时已经被分配了内存空间。
以下是C#结构体初始化的示例代码:
```csharp
//声明结构体
struct Person
{
public string Name;
public int Age;
}
//使用默认构造函数初始化结构体
Person p1 = new Person(); //Name和Age都被初始化为默认值
//使用对象初始化器初始化结构体
Person p2 = new Person { Name = "Tom", Age = 20 }; //Name被初始化为"Tom",Age被初始化为20
```
需要注意的是,结构体是值类型,它们在栈上分配内存,而不是在堆上分配内存。因此,结构体的初始化不需要使用new关键字,而是直接声明一个结构体变量即可。
阅读全文