C# 構造体のサンプル(struct)

C#の構造体のサンプルです。

目次

説明 構造体
  構造体を配列にセットする
  構造体でコンストラクタを使用する
  構造体でメソッドを使用する

構造体

struct 名称{
}
  • データをまとめることができます。
  • コンストラクタやメソッドも使用できます。
  • クラスと違い継承できません。
  • 構造体は new 演算子を使用せずにインスタンス化できます。
  • newすることも可能です。その場合コンストラクタを使用できます。
  • 構造体は値型で、クラスは参照型です。

構造体のサンプルです。

using System;

struct StructTest1
{
    public int id;
    public string name;
    public string[] sikaku;
}
class Test1
{
    static void Main()
    {
        StructTest1 st1;
        st1.id = 1;
        st1.name = "suzuki";
        st1.sikaku = new string[]{ "基本","応用"};
        Console.WriteLine(st1.id);    // 1
        Console.WriteLine(st1.name);  // suzuki
        Console.WriteLine(st1.sikaku[0]);  // 基本
        Console.WriteLine(st1.sikaku[1]);  // 応用
    }
}

3~8行目は、構造体です。4行目にキーワードのstructがあります。
5~7行目は、変数です。7行目は配列です。
13行目は、構造体の変数です。構造体は new 演算子を使用せずにインスタンス化できます。
14~16行目は、構造体の変数に値をセットしています。17行目は配列に値をセットしています。
17~20行目は、構造体の値を表示しています。

構造体を配列にセットする

構造体を配列にセットするサンプルです。

using System;

struct StructTest1
{
	public int id;
	public string name;
}
class Test1
{
	static void Main()
	{
		var arr = new StructTest1[2];

		arr[0].id = 1;
		arr[0].name = "鈴木";
		arr[1].id = 2;
		arr[1].name = "田中";

		Console.WriteLine(arr[0].id); // 1
		Console.WriteLine(arr[0].name); // 鈴木
		Console.WriteLine(arr[1].id); // 2
		Console.WriteLine(arr[1].name); // 田中
	}
}

3行目は、構造体です。
12行目は、構造体の配列です。
14行目からは構造体の配列に値をセットしています。

構造体でコンストラクタを使用する

using System;

struct StructTest1
{
    public int id;

    public StructTest1(int num)
    {
        id = num;
    }
}
class Test1
{
    static void Main()
    {
        StructTest1 st1 = new StructTest1(100);
        Console.WriteLine(st1.id);    // 100
    }
}

構造体でコンストラクタを使用するサンプルです。

7行目は、構造体のコンストラクタです。引数を取得して変数に値をセットします。
16行目は、コンストラクタの引数に数値を設定しています。
17行目は、コンストラクタで設定した値を表示しています。

構造体でメソッドを使用する

構造体でメソッドを使用するサンプルです。

using System;

struct StructTest1
{
    public int id;

    public string getName()
    {
        return "こんにちは";
    }
}
class Test1
{
    static void Main()
    {
        StructTest1 st1 = new StructTest1();
        Console.WriteLine(st1.getName());    // こんにちは
    }
}

7行目は、メソッドです。文字列を返します。
17行目は、構造体のメソッドを実行して値を表示します。

以下は、Microsoftの構造体のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/structs

関連の記事

C#入門 クラスの仕組みとサンプル

△上に戻る