get {
11 PDA.ShowInfo();
6.4 物件陣列 物件陣列 物件陣列 物件陣列
欲欲欲
欲使用類別建立物件使用類別建立物件使用類別建立物件陣列使用類別建立物件陣列陣列,陣列,,先建立屬於該類別,先建立屬於該類別先建立屬於該類別先建立屬於該類別 的
的的
的陣列元素陣列元素陣列元素,陣列元素,,,再再再再逐逐逐逐一用一用一用一用 new 關鍵字對每個關鍵字對每個關鍵字對每個關鍵字對每個陣列陣列陣列陣列 元素做
元素做元素做
元素做物件實體化物件實體化物件實體化。物件實體化。。。 寫法
寫法寫法 寫法
先建立先建立先建立先建立p[0]~p[4] 的的的的五五五個五個個陣列元素個陣列元素陣列元素陣列元素是屬於是屬於是屬於是屬於 Proudct 類別的物件類別的物件類別的物件,類別的物件,,此,此此時此時時p[0]~p[4] 的值時 的值的值的值 皆
皆
皆皆為為為為 null 並未做並未做並未做物件實體化的並未做物件實體化的物件實體化的物件實體化的動作動作動作動作
再用再用再用 new 關鍵字對再用 關鍵字對關鍵字對關鍵字對 p[0]~p[4] 做做做做物件實體化物件實體化物件實體化物件實體化
最後最後最後逐最後逐逐逐一設定一設定一設定一設定 p[0]~[4] 每個每個每個陣列每個陣列陣列陣列的屬性內的屬性內的屬性內的屬性內容容容容 設定方式是在
設定方式是在 設定方式是在
設定方式是在 [] 中中中中括括括括號後加上號後加上號後加上號後加上「「「.」「 」」運算子」運算子運算子。運算子。。。
58
Product[] p = new Product[5];
p[0] = new Product();
p[0].PartNo =“A01”; p[0].PartName=“火影忍者火影忍者火影忍者火影忍者””””; p[0].Qty = 100 p[1] = new Product();
p[1].PartNo =“A02”; p[1].PartName=“哈利波特哈利波特哈利波特哈利波特””””; p[1].Qty = 250
……
……
……
p[4] = new Product();
p[4].PartNo =“A05”; p[4].PartName=“網球王子網球王子網球王子網球王子””””; p[4].Qty = 50
延續延續
延續延續上例上例上例,上例,,,使用使用使用使用 Product 類別來建立物件類別來建立物件類別來建立物件類別來建立物件陣列陣列陣列陣列。。。。 程式開
程式開 程式開
程式開始始始始執行先執行先執行先執行先詢問詢問詢問詢問要產生多少個產品要產生多少個產品要產生多少個產品要產生多少個產品,,,,接著再接著再接著再接著再 讓使用者
讓使用者 讓使用者
讓使用者逐逐逐逐一一一一輸輸輸輸入產品的編號入產品的編號入產品的編號入產品的編號、、、、品名及數量品名及數量品名及數量品名及數量。。。。 如下圖先如下圖先
如下圖先如下圖先輸輸輸輸入入入入3,,,,接著產生接著產生接著產生接著產生p 陣列陣列陣列陣列物件且物件且物件且陣列元素物件且陣列元素陣列元素陣列元素 為
為
為為p[0]~p[2] ,,,,再讓使用者再讓使用者再讓使用者再讓使用者逐逐逐逐一一一一輸輸輸輸入入入入p[0]~p[2] 的的的的 為
為
為為p[0]~p[2] ,,,,再讓使用者再讓使用者再讓使用者再讓使用者逐逐逐逐一一一一輸輸輸輸入入入入p[0]~p[2] 的的的的 編號
編號 編號
編號、、、、品名品名品名品名、、、、數量的資料數量的資料數量的資料數量的資料,,,, 最後再
最後再 最後再
最後再印印印印出出出出 ””””目前目前目前目前共共共生產共生產生產生產幾幾幾幾 個產品
個產品 個產品
個產品”””” 的訊的訊的訊的訊息息息。息。。。
60
// FileName : Product.cs 01 namespace ObjectArray 02{
03 class Product 04 {
05 public string PartNo { get; set; } 06 public string PartName { get; set; } 06 public string PartName { get; set; } 07 private int _Qty;
08 private static int _num;
09 //顯示共產生幾個產品顯示共產生幾個產品顯示共產生幾個產品顯示共產生幾個產品
10 public static void ShowNum() 11 {
12 Console.WriteLine("目前共生產目前共生產目前共生產目前共生產 {0} 個產品個產品個產品個產品!!\n", _num);
13 }
14 public Product() 15 {
16 _num += 1;
17 }
18 // 設定數量設定數量設定數量設定數量Qty屬性不可小於屬性不可小於屬性不可小於0, 若小於屬性不可小於 若小於若小於若小於0則設定則設定則設定_Qty欄位為則設定 欄位為欄位為0欄位為 19 public int Qty
20 {
21 get 22 { 22 {
23 return _Qty;
24 } 25 set 26 {
27 if (value < 0) value = 0;
28 _Qty = value;
29 } 30 } 31 } 32 }
62
Step3 撰寫撰寫撰寫撰寫 Main 方法方法方法方法
// FileName : Program.cs 01 namespace ObjectArray 02 {
03 class Program 04 {
05 static void Main(string[] args) 05 static void Main(string[] args) 06 {
07 try 08 {
09 Console.Write("請輸入欲產生幾個產品請輸入欲產生幾個產品請輸入欲產生幾個產品請輸入欲產生幾個產品::::");
10 int n = int.Parse(Console.ReadLine());
11 Product[] p = new Product[n];
12 for (int i = 0; i <= p.GetUpperBound(0); i++) 13 {
14 p[i] = new Product();
15 Console.WriteLine("請輸入第請輸入第請輸入第請輸入第 " + (i + 1).ToString() + " 筆產品筆產品筆產品");筆產品 16 Console.Write(" 編號編號編號:編號:::");
17 p[i].PartNo = Console.ReadLine();
18 Console.Write(" 品名品名品名:品名:::");
19 p[i].PartName = Console.ReadLine();
20 Console.Write(" 數量數量數量:數量:::");
21 p[i].Qty = int.Parse(Console.ReadLine
22 Console.WriteLine("====================");
23 }