HOWTO · Csharp
在 C# 中初始化物件陣列
在本文中,解釋瞭如何在 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
---------------------------