Array von Objekten initialisieren in C#

Saad Aslam 12 Oktober 2023
  1. Verwenden Sie die Constructor-Parameter, um ein Array von Objekten in C# zu initialisieren
  2. Erstellen Sie get- und set-Methoden, um die Konstruktoraufrufaktivitäten abzuschließen
  3. Der gesamte Quellcode zum Initialisieren des Arrays durch Konstruktorparameter in C#
Array von Objekten initialisieren in C#

In diesem Artikel wird vorgestellt, wie Sie ein Array von Objekten über Konstruktorparameter in C# initialisieren.

Verwenden Sie die Constructor-Parameter, um ein Array von Objekten in C# zu initialisieren

Zuerst müssen wir die Bibliothek System importieren, um ihre Funktionen in unserem Beispiel zu verwenden.

using System;

Erstellen Sie dann innerhalb der öffentlichen Klasse Person Felder, Konstruktoren, Getter, Setter-Methoden und die anderen Methoden. Dadurch werden die Konstruktoraufrufaktivitäten abgeschlossen und die Ausgabe angezeigt.

public class Person {}

Deklarieren Sie innerhalb der Klasse Person zwei private Variablen namens personge und personName mit den Datentypen long bzw. string.

Wir verwenden private Zugriffsmodifikatoren für die Variablen, um unsere Daten vor Lecks zu schützen, da wir nicht möchten, dass von außerhalb dieser Klasse auf unsere Daten zugegriffen wird.

private long personAge;
private string personName;

Dann konstruieren wir unseren Konstruktor Person und übergeben ihn an zwei Variablen der Datentypen long bzw. string mit den Bezeichnungen age und name.

Wir weisen der zuvor erstellten Variablen personge im Inneren den Wert age zu, der wir den Wert age zuweisen, der beim Aufrufen erhalten wird. Die Variable personName wird ähnlich behandelt.

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

Erstellen Sie danach eine weitere Klasse, Personge mit dem Datentyp long, genau wie der Datentyp unserer Variablen personge.

Erstellen Sie get- und set-Methoden, um die Konstruktoraufrufaktivitäten abzuschließen

Innerhalb der Klasse erstellen wir eine get-Methode, die bei jedem Aufruf personge zurückgibt. Außerdem erstellen wir eine set-Methode, die den beim Aufruf erhaltenen Wert der personge-Variablen zuweist.

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

Ähnlich wie bei der vorherigen Klasse Personge erstellen wir eine weitere Klasse PersonName, in der eine get-Methode erstellt wird.

Die gibt bei jedem Aufruf personName zurück, und eine set-Methode weist den beim Aufruf erhaltenen Wert der personName-Variablen zu.

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

Nach diesen obigen Schritten wird die Klasse Person geschlossen, und danach erstellen wir eine weitere öffentliche Klasse, BioData.

public class BioData {}

Wir erstellen ein Person-Array-Klassenobjekt mit der Variablendeklaration Personen innerhalb dieser Klasse.

Person[] persons;

Jetzt erstellen wir eine öffentliche Methode, BioData(), in der wir eine Person-Array-Variable mit dem Namen Personen initialisieren und den Person-Konstruktor aufrufen.

Wir weisen die erforderlichen Werte personge und personName zu. Wir rufen den Konstruktor Person 4 Mal auf und weisen ihm unterschiedliche Werte zu.

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

Nachdem diese Schritte abgeschlossen sind, müssen wir die Details aller Personen anzeigen. Als Ergebnis erstellen wir eine neue Methode namens showDetails() mit dem Rückgabetyp void, weil sie nichts zurückgibt.

Zuerst zeigt diese Methode Personendetails an. Dann wenden wir eine foreach-Schleife an und erstellen in ihrem Bedingungsteil eine Variable Detail.

Dadurch werden die Personen-Instanzen innerhalb des Schleifenkörpers iteriert, wir zeigen den Namen und das Alter der Person an.

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("---------------------------");
  }
}

Jetzt haben wir die Methode int type main. Innerhalb von main initialisieren wir eine Variable Data und weisen ihr die Methode BioData() zu, die sich in der Klasse BioData befindet.

Wir verwenden Data, um die Methode showDetails() auszuführen, die alle Attribute der Person anzeigt.

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

Der gesamte Quellcode zum Initialisieren des Arrays durch Konstruktorparameter in 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;
  }
}

Ausgabe:

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
---------------------------
Autor: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

Verwandter Artikel - Csharp Array