C# でオブジェクトの配列を初期化する

  1. C#Constructor パラメーターを使用してオブジェクトの配列を初期化する
  2. コンストラクター呼び出しアクティビティを完了するための get および set メソッドを作成する
  3. C# のコンストラクタパラメータを介して配列を初期化するためのソースコード全体

この記事では、C# のコンストラクターパラメーターを使用してオブジェクトの配列を初期化する方法を紹介します。

C#Constructor パラメーターを使用してオブジェクトの配列を初期化する

まず、この例でそれらの関数を使用するには、System ライブラリをインポートする必要があります。

using System;

次に、パブリッククラス Person 内で、フィールド、コンストラクター、ゲッター、セッターメソッド、およびその他のメソッドを作成します。これでコンストラクター呼び出しアクティビティが完了し、出力が表示されます。

public class Person{}

Person クラス内で、persongepersonName という名前の 2つのプライベート変数を、それぞれ long と string のデータ型で宣言します。

このクラスの外部からデータにアクセスしたくないため、変数にプライベートアクセス修飾子を使用してデータが漏洩しないようにしています。

private long personAge;
private string personName;

次に、コンストラクターPerson を作成し、それをそれぞれ agename というラベルの付いた long と string のデータ型の 2つの変数に渡します。

age の値を、以前に作成した変数 personge に割り当てます。この変数を呼び出すと、age の値が割り当てられます。personName 変数も同様に処理されます。

public Person(long age, string Name)
{
  personAge = age;
  personName = Name;
}

この後、personge 変数のデータ型と同じ、データ型が long の別のクラス Personge を作成します。

コンストラクター呼び出しアクティビティを完了するための get および set メソッドを作成する

クラス内で、呼び出すたびに personge を返す get メソッドを作成します。また、呼び出し時に受け取った値を personge 変数に割り当てる set メソッドを作成します。

public long PersonAge
{
  get
  {
    return personAge;
  }
  set
  {
    personAge = value;
  }
}

前のクラス Personge と同様に、別のクラス PersonName を作成し、その中に get メソッドを作成します。

これは、呼び出されるたびに personName を返し、set メソッドは、呼び出し時に受け取った値を personName 変数に割り当てます。

public string PersonName
{
  get
  {
    return personName;
  }
  set
  {
    personName = value;
  }
}

上記の手順の後、Person クラスが閉じられ、その後、別のパブリッククラス BioData が作成されます。

public class BioData{}

このクラス内に変数 persons 宣言を持つ Person 配列クラスオブジェクトを作成します。

Person[] persons;

次に、パブリックメソッド BioData() を作成します。このメソッド内で、persons という名前の Person 配列型変数を初期化し、Person コンストラクターを呼び出します。

必要な値 persongepersonName を割り当てます。Person コンストラクターを 4 回呼び出し、異なる値を割り当てます。

public BioData()
{
  persons = new Person[]
  {
  new Person (52, "Kian"),
  new Person (47, "Max"),
  new Person (19, "Franky"),
  new Person (76, "Connor"),
  };
}

これらの手順が完了したら、すべての人物の詳細を表示する必要があります。その結果、何も返さないため、戻りタイプが voidshowDetails() という新しいメソッドを作成します。

まず、このメソッドは Person's Details を表示します。次に、foreach ループを適用し、その条件部分内に変数 Detail を作成します。

ループの本体内の persons インスタンスを繰り返すために、Person の名前と年齢を表示します。

public void showDetails()
{
  Console.WriteLine("Person's Details\n");

  foreach (var Detail in persons)
  {
    Console.WriteLine("Person Name: " + Detail.PersonName);

    Console.WriteLine("Person Age: " + Detail.PersonAge);

    Console.WriteLine("---------------------------");
  }
}

これで、int 型の main メソッドができました。main 内で、変数 Data を初期化し、BioData クラス内にある BioData() メソッドを割り当てます。

Data を使用して showDetails() メソッドを実行します。これにより、Person のすべての属性が表示されます。

public static class PersonDetail
{
    static int Main(string[] args)
    {
        var Data = new BioData();
        Data.showDetails();
        return 0;
    }
}

C# のコンストラクタパラメータを介して配列を初期化するためのソースコード全体

using System;
public class Person
{
    private long personAge;
    private string personName;

    public Person(long age, string Name)
    {
        personAge = age;
        personName = Name;
    }
    public long PersonAge
    {
        get
        {
            return personAge;
        }
        set
        {
            personAge = value;
        }
    }

    public string PersonName
    {
        get
        {
            return personName;
        }
        set
        {
            personName = value;
        }
    }
}

public class BioData
{
    Person[] persons;
    public BioData()
    {
        persons = new Person[]
        {
        new Person (52, "Kian"),
        new Person (47, "Max"),
        new Person (19, "Franky"),
        new Person (76, "Connor"),
        };
    }
    public void showDetails()
    {
        Console.WriteLine("Person's Details\n");

        foreach (var Detail in persons)
        {
            Console.WriteLine("Person Name: " + Detail.PersonName);

            Console.WriteLine("Person Age: " + Detail.PersonAge);

            Console.WriteLine("---------------------------");
        }
    }
}

public static class PersonDetail
{
    static int Main(string[] args)
    {
        var Data = new BioData();

        Data.showDetails();

        return 0;
    }
}

出力:

Person's Details

Person Name: Kian
Person Age: 52
---------------------------
Person Name: Max
Person Age: 47
---------------------------
Person Name: Franky
Person Age: 19
---------------------------
Person Name: Connor
Person Age: 76
---------------------------

関連記事 - Csharp Array

  • C# で配列の長さを取得する
  • C# で配列を並べ替える
  • C# で配列を降順で並べ替える
  • C# で文字列をバイト配列に変換する方法