1. 程式人生 > 實用技巧 >C# 一維陣列的定義與Format語句的使用

C# 一維陣列的定義與Format語句的使用

 1         static void Main(string[] args)
 2         {
 3             //一維陣列的兩種初始化
 4             //動態初始化
 5             int a = 5;
 6             int[] aa = new int[10];
 7             int[] bb = new int[a];
 8             //利用new給int陣列在堆中開空間初始化陣列的方法,[]內是可以是變數或者常量的
 9             //但是另外一種情況不行
10             int
[] cc = new int[] {1,2,3,4,5,6,7,8,9}; 11 //這種情況下[]內是不能用變數的,裡面只能用常量,就算是附了值的也不行,例如上面的變數a就不行。 12 int[] dd = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 13 //在這種情況下,用new分配了空間的情況下,並且用{}進行寫入的情況,就一定要寫滿[]內對應的值的資料 14 //不能多也不能少 15 int[] ee = new int[10] { 1
, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 16 17 18 //一維陣列的靜態初始化 19 //類似於C的陣列,但是也有不一樣的地方 20 int[] ff = {1,2,3,4,5,6 }; 21 //int[6] gg = {1,2,3,4,5,6 }; 22 //比如這裡就不能像C一樣指定陣列的長度 23 //而且這裡不能寫成 24 int [] c; //這裡是正確的 25 // c={1,2,3}; 這裡不能這麼寫,因為沒有開設堆空間給c
26 c = new int[] { }; 27 //這樣才是正確的 28 29 30 //foreach函式的使用 31 //借用上面的int[] dd = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 32 //原來我們C顯示陣列都是考迴圈和下標一個一個輸出的,現在我們可以使用一個foreach來實現 33 34 35 string test = "SB"; 36 foreach (int i in dd) //顯示迭代變數 37 { 38 Console.WriteLine("陣列輸出={0}", i); 39 //因為我們無法通過直接手段讓迭代變數i輸出出來 40 //所以我們利用字串的疊加和格式化讓其輸出出來 41 test = test + i; 42 string.Format(test); 43 Console.WriteLine("測試迭代函式的值是多少={0}", test); 44 //輸出結果證明迭代變數是從陣列內1開始的 45 //但我們不清楚是從1開始,還是與陣列有關 46 } 47 48 //我們再測試一下 49 test = "SB";//test歸位 50 int[] zimu = {5,9,5,15,26,5,5,62}; 51 foreach (int i in zimu ) 52 { 53 Console.WriteLine("陣列輸出={0}", i); 54 test = test + i; 55 string.Format(test); 56 Console.WriteLine("測試迭代函式的值是多少={0}", test); 57 //從這裡我們看出,迭代變數,代表的就是陣列對應的一個個資料。 58 } 59 60 //迭代變數會不會和陣列的資料有關呢? 61 test = "SB";//test歸位 62 char[] zimu2 = { '5', '6', 'j' }; 63 foreach (int i in zimu2) 64 { 65 Console.WriteLine("陣列輸出={0}", i); 66 test = test + i; 67 string.Format(test); 68 Console.WriteLine("測試迭代函式的值是多少={0}", test); 69 //從這裡我們看出,這裡看出來,輸出的資料是什麼,取決於迭代變數的型別 70 //這裡的字元j被轉換成asc2表上的106輸出了 71 } 72 73 test = "SB";//test歸位 74 string[] zimu3 = { "啊這azhe 123" };//隱式迭代變數 75 foreach (var i in zimu3) 76 { 77 Console.WriteLine("陣列輸出={0}", i); 78 test = test + i; 79 string.Format(test); 80 Console.WriteLine("測試迭代函式的值是多少={0}", test); 81 //由於int無法和string發生轉換,所以這裡只能用var隱式迭代變數 82 83 } 84 85 86 }