C#中的结构体(Struct)是一种轻量级的数据类型,用于存储数据。与类(Class)不同,结构体是一种值类型,即在赋值或传递参数时是按值传递的,而不是按引用传递的。
结构体的声明和使用方式与类相似。结构体的声明格式如下:
struct Name
{
// 结构体成员
}
其中,Name为结构体的名称。
结构体可以包含字段、属性、方法等成员,例如:
struct Person
{
public string Name;
public int Age;
public void DisplayInfo()
{
Console.WriteLine("Name: {0}, Age: {1}", Name, Age);
}
}
结构体可以像类一样进行实例化:
Person p1 = new Person();
p1.Name = "Tom";
p1.Age = 20;
p1.DisplayInfo();
结构体也可以作为参数传递给方法:
static void ChangePerson(Person p)
{
p.Name = "Jerry";
p.Age = 30;
}
// 调用方法
Person p2 = new Person();
p2.Name = "Tom";
p2.Age = 20;
ChangePerson(p2);
p2.DisplayInfo();
需要注意的是,由于结构体是按值传递的,将结构体作为参数传递给方法时会复制一份结构体的值,因此在方法中修改结构体的成员不会影响原始结构体的值。
结构体的使用场景包括:
- 存储轻量级的数据类型。
- 作为方法的参数,避免使用引用类型带来的性能损耗。
- 提高代码的可读性和可维护性。