结构(Visual C# 速成版)

更新:2007 年 11 月

C# 中的结构与类相似,但结构缺乏某些功能,例如继承。另外,由于结构是一个值类型,因此通常创建结构要比创建类的速度快。如果您有一些紧凑循环,需要在其中创建大量新数据结构,则应考虑使用结构而不是类。结构还用于封装数据字段组,例如网格上点的坐标或矩形的尺寸。有关更多信息,请参见类(Visual C# 速成版)

示例

此示例程序定义一个 struct,用以存储地理位置。该示例还重写 ToString() 方法,以便在 WriteLine 语句中显示时产生更有用的输出。由于 struct 中没有方法,因此没有必要将其定义为类。

struct GeographicLocation
{
    private double longitude;
    private double latitude;

    public GeographicLocation(double longitude, double latitude)
    {
        this.longitude = longitude;
        this.latitude = latitude;
    }

    public override string ToString()
    {
        return System.String.Format("Longitude: {0} degrees, Latitude: {1} degrees", longitude, latitude);
    }
}

class Program
{
    static void Main()
    {
        GeographicLocation Seattle = new GeographicLocation(123, 47);
        System.Console.WriteLine("Position: {0}", Seattle.ToString());
    }
}

输出

此示例的输出如下所示:

Position: Longitude: 123 degrees, Latitude: 47 degrees

请参见

概念

C# 编程指南

C# 语言入门

类(Visual C# 速成版)

参考

class

struct

类和结构(C# 编程指南)