構造体 (Visual C# Express)

更新 : 2007 年 11 月

C# の構造体はクラスに似ていますが、継承などの一部の機能がありません。また、構造体は値型であるため、通常はクラスよりも簡単に作成できます。新しいデータ構造が多数作成される小さなループがある場合、クラスではなく構造体を使用することを検討してください。構造体は、グリッド上の点の座標や四角形の寸法など、データ フィールドのグループのカプセル化にも使用されます。詳細については、「クラス (Visual C# Express)」を参照してください。

このプログラム例では、地理上の位置を格納する 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# Express)

参照

class (C# リファレンス)

struct (C# リファレンス)

クラスと構造体 (C# プログラミング ガイド)