下面是快速了解C#结构体的完整攻略:
简介
在C#中,结构体是一种轻量级的数据结构,可以用来封装少量相关数据。相比于类(class),结构体的运行效率更高,且占用更少的内存空间。通过使用结构体,可以提高程序的性能和效率。
定义结构体
定义结构体的方式与定义类的方式类似,不同之处在于使用“struct”关键字。例如:
struct Point {
public int x;
public int y;
}
上述代码定义了一个包含x和y两个字段的Point结构体。
初始化结构体
定义了结构体之后,可以使用以下方式进行初始化:
Point p;
p.x = 10;
p.y = 20;
也可以使用以下方式进行初始化:
Point p = new Point { x = 10, y = 20 };
使用结构体
结构体的使用方式与类的使用方式类似。以下是一个使用结构体的示例代码:
Point p1 = new Point { x = 10, y = 20 };
Point p2 = new Point { x = 30, y = 40 };
int distance = Distance(p1, p2);
Console.WriteLine(distance);
int Distance(Point p1, Point p2) {
int dx = p1.x - p2.x;
int dy = p1.y - p2.y;
return (int)Math.Sqrt(dx * dx + dy * dy);
}
上述代码定义了一个Distance方法,用于计算两个点之间的距离。在Main方法中,使用两个Point类型的变量p1和p2来调用Distance方法,并将结果输出到控制台中。运行上述代码,输出结果为28。
示例说明
以下是两个使用结构体的示例:
示例1:使用结构体表示学生信息
struct Student {
public string name;
public int age;
public int score;
}
Student stu = new Student {
name = "Tom",
age = 18,
score = 90
};
Console.WriteLine("姓名:{0}", stu.name);
Console.WriteLine("年龄:{0}", stu.age);
Console.WriteLine("分数:{0}", stu.score);
上述代码定义了一个Student结构体,包含name、age和score三个字段。在Main方法中,使用Student类型的变量stu来表示一个学生的信息,并将其输出到控制台中。
示例2:使用结构体表示坐标信息
struct Position {
public double x;
public double y;
}
Position[] positions = new Position[] {
new Position { x = 1, y = 2 },
new Position { x = 3, y = 4 },
new Position { x = 5, y = 6 }
};
foreach (Position p in positions) {
Console.WriteLine("X坐标:{0},Y坐标:{1}", p.x, p.y);
}
上述代码定义了一个Position结构体,包含x和y两个字段。在Main方法中,使用Position类型的数组positions来表示多个坐标信息,并使用foreach循环将每个坐标信息输出到控制台中。
以上就是快速了解C#结构体的完整攻略。希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:快速了解c# 结构体 - Python技术站