Initialiser un tableau d'objets en C#
-
Utiliser les paramètres
Constructor
pour initialiser un tableau d’objets enC#
-
Créer des méthodes
get
etset
pour terminer les activités d’appel de constructeur -
l’ensemble du code source pour initialiser le tableau via les paramètres du constructeur en
C#
Cet article explique comment initialiser un tableau d’objets via les paramètres Constructor en C#.
Utiliser les paramètres Constructor
pour initialiser un tableau d’objets en C#
Tout d’abord, nous devons importer la bibliothèque System
pour utiliser leurs fonctions dans notre exemple.
using System;
Ensuite, au sein de la classe publique Person
, créez des champs, des méthodes constructeur, getter, setter et les autres méthodes. Cela terminera les activités d’appel du constructeur et affichera la sortie.
public class Person {}
Dans la classe Person
, déclarez deux variables privées, nommées personge
et personName
, avec respectivement les types de données long et string.
Nous utilisons des modificateurs d’accès privés pour les variables afin de protéger nos données contre les fuites, car nous ne voulons pas que nos données soient accessibles depuis l’extérieur de cette classe.
private long personAge;
private string personName;
Ensuite, nous allons construire notre constructeur Person
et le passer à deux variables de types de données long et string, respectivement, étiquetées age
et name
.
Nous assignerons la valeur de age
à la variable personge
créée précédemment à l’intérieur, à laquelle nous attribuerons la valeur de age
qui sera obtenue en l’appelant. La variable personName
sera traitée de la même manière.
public Person(long age, string Name) {
personAge = age;
personName = Name;
}
Après cela, créez une autre classe, Personge
avec le type de données long, le même que celui de notre variable personge
.
Créer des méthodes get
et set
pour terminer les activités d’appel de constructeur
Dans la classe, nous allons créer une méthode get
qui renverra personge
à chaque fois que nous l’appellerons. Aussi, nous allons créer une méthode set
qui affectera la valeur reçue lors de son appel à la variable personge
.
public long PersonAge {
get { return personAge; }
set { personAge = value; }
}
Semblable à la classe précédente Personge
, nous allons créer une autre classe, PersonName
, à l’intérieur de laquelle une méthode get
sera créée.
Ce qui renverra personName
à chaque appel, et une méthode set
affectera la valeur reçue lors de son appel à la variable personName
.
public string PersonName {
get { return personName; }
set { personName = value; }
}
Après ces étapes ci-dessus, la classe Person
sera fermée, et après cela, nous créons une autre classe publique, BioData
.
public class BioData {}
Nous allons créer un objet de classe tableau Person
avec une déclaration de variable persons
à l’intérieur de cette classe.
Person[] persons;
Maintenant, nous allons créer une méthode publique, BioData()
, à l’intérieur de laquelle nous allons initialiser une variable de type tableau Person
nommée persons
, et en appelant le constructeur Person
.
Nous attribuerons les valeurs requises personge
et personName
. Nous appelons le constructeur Person
4 fois et attribuons différentes valeurs.
public BioData() {
persons = new Person[] {
new Person(52, "Kian"),
new Person(47, "Max"),
new Person(19, "Franky"),
new Person(76, "Connor"),
};
}
Une fois ces étapes terminées, nous devons afficher les détails de toutes les personnes. En conséquence, nous allons créer une nouvelle méthode appelée showDetails()
avec le type de retour void
car elle ne retourne rien.
Tout d’abord, cette méthode affichera Person's Details
. Ensuite on applique une boucle foreach
, et à l’intérieur de sa partie condition, on crée une variable Detail
.
Ce qui va itérer les instances personnes
à l’intérieur du corps de la boucle, nous affichons le nom de la personne et l’âge de la personne.
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("---------------------------");
}
}
Maintenant, nous avons la méthode main
de type int. A l’intérieur du main
, nous initialisons une variable Data
et lui attribuons la méthode BioData()
située à l’intérieur de la classe BioData()
.
Nous utiliserons Data
pour exécuter la méthode showDetails()
, qui affichera tous les attributs de la personne.
public static class PersonDetail {
static int Main(string[] args) {
var Data = new BioData();
Data.showDetails();
return 0;
}
}
l’ensemble du code source pour initialiser le tableau via les paramètres du constructeur en 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;
}
}
Production:
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
---------------------------
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