Inicializar array de objetos en C#

Saad Aslam 12 octubre 2023
  1. Utilice los parámetros de Constructor para inicializar un array de objetos en C#
  2. Cree métodos get y set para completar las actividades de llamada de constructor
  3. el código fuente completo para inicializar la array a través de los parámetros del constructor en C#
Inicializar array de objetos en C#

Este artículo presentará cómo inicializar un array de objetos a través de parámetros de Constructor en C#.

Utilice los parámetros de Constructor para inicializar un array de objetos en C#

Primero, debemos importar la biblioteca System para usar sus funciones en nuestro ejemplo.

using System;

Luego, dentro de la clase pública Person, cree campos, constructor, getter, setter métodos y los demás métodos. Eso completará las actividades de llamada del constructor y mostrará el resultado.

public class Person {}

Dentro de la clase Person, declara dos variables privadas, denominadas personge y personName, con tipos de datos long y string, respectivamente.

Estamos utilizando modificadores de acceso privado para las variables para mantener nuestros datos a salvo de fugas porque no queremos que se acceda a nuestros datos desde fuera de esta clase.

private long personAge;
private string personName;

Luego construiremos nuestro constructor Person y lo pasaremos a dos variables de tipos de datos long y string, respectivamente, etiquetadas como edad y name.

Asignaremos el valor de edad a la variable personge previamente creada dentro, a la que asignaremos el valor de edad que se obtendrá al llamarla. La variable personName se manejará de manera similar.

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

Después de esto, cree otra clase, Personge con el tipo de datos long, igual que el tipo de datos de nuestra variable personge.

Cree métodos get y set para completar las actividades de llamada de constructor

Dentro de la clase, crearemos un método get que devolverá personge cada vez que lo llamemos. Además, crearemos un método set que asignará el valor recibido al llamarlo a la variable personge.

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

Similar a la clase anterior Personge, crearemos otra clase, PersonName, dentro de la cual se creará un método get.

Que devolverá personName cada vez que se llame, y un método set asignará el valor recibido al llamarlo a la variable personName.

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

Después de estos pasos anteriores, la clase Person se cerrará y luego crearemos otra clase pública, BioData.

public class BioData {}

Crearemos un objeto de clase de array Person con la declaración variable personas dentro de esta clase.

Person[] persons;

Ahora, crearemos un método público, BioData(), dentro del cual inicializaremos una variable de tipo array Person llamada personas, y llamando al constructor Person.

Asignaremos los valores requeridos personge y personName. Llamamos al constructor Person 4 veces y le asignamos diferentes valores.

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

Después de completar estos pasos, debemos mostrar los detalles de todas las Personas. Como resultado, crearemos un nuevo método llamado showDetails() con el tipo de devolución void porque no devuelve nada.

Primero, este método mostrará Person's Details. Luego aplicamos un bucle foreach, y dentro de su parte de condición, creamos una variable Detail.

Lo que iterará las instancias de persons dentro del cuerpo del bucle, mostramos el nombre de la persona y la edad de la persona.

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

Ahora, tenemos el método main de tipo int. Dentro de main, inicializamos una variable Data y le asignamos el método BioData() ubicado dentro de la clase BioData.

Usaremos Data para ejecutar el método showDetails(), que mostrará todos los atributos de la Persona.

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

el código fuente completo para inicializar la array a través de los parámetros del constructor 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;
  }
}

Producción :

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

Artículo relacionado - Csharp Array