HOWTO · Csharp

在 C# 中初始化对象数组

在本文中,解释了如何在 C# 中通过构造函数参数来初始化对象数组。

本文将介绍如何在 C# 中通过构造函数参数来初始化对象数组。

C# 中使用 Constructor 参数初始化对象数组

首先,我们必须导入 System 库以在我们的示例中使用它们的功能。

using System;

然后,在公共类 Person 中,创建字段、构造函数、getter、setter 方法和其他方法。这将完成构造函数调用活动并显示输出。

public class Person {}

Person 类中,声明两个私有变量,分别命名为 persongepersonName,数据类型分别为 long 和 string。

我们对变量使用私有访问修饰符来保护我们的数据不被泄露,因为我们不希望我们的数据从这个类之外被访问。

private long personAge;
private string personName;

然后我们将构造我们的构造函数 Person 并将其传递给两个数据类型为 long 和 string 的变量,分别标记为 agename

我们将把 age 的值分配给之前在里面创建的变量 personge,我们将分配在调用它时将获得的 age 的值。personName 变量将被类似处理。

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

之后,创建另一个类 Personge,其数据类型为 long,与我们的 personge 变量的数据类型相同。

创建 getset 方法来完成构造函数调用活动

在类中,我们将创建一个 get 方法,每次调用它都会返回 personge。此外,我们将创建一个 set 方法,将调用它时收到的值分配给 personge 变量。

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(),在其中我们将初始化一个名为 personsPerson 数组类型变量,并通过调用 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"),
  };
}

完成这些步骤后,我们需要显示所有 Person 的详细信息。因此,我们将创建一个名为 showDetails() 的新方法,其返回类型为 void,因为它不返回任何内容。

首先,此方法将显示 Person's Details。然后我们应用一个 foreach 循环,在它的条件部分,我们创建一个变量 Detail

这将迭代循环体内的 persons 实例,我们显示个人的姓名和年龄。

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
---------------------------