在C#中,结构体(Struct)是一种用于封装少量相关变量的数据类型。结构体是值类型,与类不同,它在栈上分配内存而不是在堆上。结构体适用于小型数据结构,通常用于表示轻量级对象。

以下是一个简单的C#结构体的示例:
using System;

// 定义结构体
public struct Point
{
    // 结构体的字段
    public int X;
    public int Y;

    // 结构体的构造函数
    public Point(int x, int y)
    {
        X = x;
        Y = y;
    }

    // 结构体的方法
    public void Display()
    {
        Console.WriteLine($"X: {X}, Y: {Y}");
    }
}

class Program
{
    static void Main()
    {
        // 创建结构体对象
        Point point1 = new Point(10, 20);
        Point point2 = new Point(5, 8);

        // 访问结构体的字段
        Console.WriteLine($"point1: X={point1.X}, Y={point1.Y}");

        // 调用结构体的方法
        point1.Display();

        // 结构体的值传递
        ModifyPoint(point1);
        Console.WriteLine($"After modification: X={point1.X}, Y={point1.Y}");

        // 结构体的比较
        Console.WriteLine($"Are point1 and point2 equal? {point1.Equals(point2)}");
    }

    // 修改结构体的方法
    static void ModifyPoint(Point point)
    {
        point.X = 100;
        point.Y = 200;
    }
}

在上述示例中,Point 是一个简单的结构体,包含两个整数字段 X 和 Y。结构体还包括一个构造函数和一个方法用于显示坐标。在 Main 方法中,我们创建了两个结构体对象 point1 和 point2,演示了如何访问字段、调用方法以及结构体的值传递。

需要注意的是,结构体是值类型,因此在将结构体传递给方法时,传递的是结构体的副本而不是引用。这就意味着在方法内部对结构体的修改不会影响原始结构体的值。


转载请注明出处:http://www.pingtaimeng.com/article/detail/14756/C#