在 C# 中初始化对象数组
本文将介绍如何在 C# 中通过构造函数参数来初始化对象数组。
在 C#
中使用 Constructor
参数初始化对象数组
首先,我们必须导入 System
库以在我们的示例中使用它们的功能。
using System;
然后,在公共类 Person
中,创建字段、构造函数、getter、setter 方法和其他方法。这将完成构造函数调用活动并显示输出。
public class Person {}
在 Person
类中,声明两个私有变量,分别命名为 personge
和 personName
,数据类型分别为 long 和 string。
我们对变量使用私有访问修饰符来保护我们的数据不被泄露,因为我们不希望我们的数据从这个类之外被访问。
private long personAge;
private string personName;
然后我们将构造我们的构造函数 Person
并将其传递给两个数据类型为 long 和 string 的变量,分别标记为 age
和 name
。
我们将把 age
的值分配给之前在里面创建的变量 personge
,我们将分配在调用它时将获得的 age
的值。personName
变量将被类似处理。
public Person(long age, string Name) {
personAge = age;
personName = Name;
}
之后,创建另一个类 Personge
,其数据类型为 long,与我们的 personge
变量的数据类型相同。
创建 get
和 set
方法来完成构造函数调用活动
在类中,我们将创建一个 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()
,在其中我们将初始化一个名为 persons
的 Person
数组类型变量,并通过调用 Person
构造函数。
我们将分配所需的值 personge
和 personName
。我们调用 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
---------------------------
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