數組是對相同類型的一組數據的封裝。數組定義的時候,要說明是對哪一種類型的封裝,並且要指定長度。 運行結果如下: 數組是一種數據類型,並且二維數組在圖像處理中會應用。一維數組的起始下標是[0]。二維數組的起始下標是[0,0]。交錯也稱參差數組的起始下標是[0][0]。 數組一定是固定長度和類型確定並且 ...
數組是對相同類型的一組數據的封裝。數組定義的時候,要說明是對哪一種類型的封裝,並且要指定長度。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace TestArrayList 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 //System.Array 13 //1、數組[]特定類型、固定長度 14 string[] str1 = new string[3]; 15 str1[0] = "a"; 16 str1[1] = "b"; 17 str1[2] = "c"; 18 Console.WriteLine(str1[2]); 19 20 string[] str2 = new string[] { "a", "b", "c" }; 21 Console.WriteLine(str2[0]); 22 23 string[] str3 = { "a", "b", "c" }; 24 Console.WriteLine(str3[0]); 25 26 //2.二維數組 27 //int[,] intArray = new int 28 int[,] intArray = new int[2, 3]; 29 intArray[0, 0] = 1; 30 intArray[0, 1] = 11; 31 intArray[0, 2] = 111; 32 intArray[1, 0] = 2; 33 intArray[1, 1] = 22; 34 intArray[1, 2] = 222; 35 Console.WriteLine("{0},{1},{2}", intArray[0, 0], intArray[0, 1], intArray[0, 2]); 36 Console.WriteLine("{0},{1},{2}", intArray[1, 0], intArray[1, 1], intArray[1, 2]); 37 38 //3多維數組 39 int[, ,] intArray1 = new int[,,] 40 { 41 {{1,1},{11,11},{111,111}}, 42 {{2,2},{22,22},{33,33}}, 43 {{3,3},{33,33},{333,333}} 44 }; 45 Console.WriteLine("多維數組"); 46 Console.WriteLine("{0},{1},{2},{3},{4},{5}", intArray1[0, 0, 0], intArray1[0, 0, 1], intArray1[0, 1, 0], intArray1[0, 1, 1], intArray1[0, 2, 0], intArray1[0, 2, 1]); 47 Console.WriteLine("{0},{1},{2},{3}", intArray1[1, 0, 0], intArray1[1, 0, 1], intArray1[1, 1, 0], intArray1[1, 1, 1]); 48 Console.WriteLine("{0},{1},{2},{3},{4},{5}", intArray1[2, 0, 0], intArray1[2, 0, 1], intArray1[2, 1, 0], intArray1[2, 1, 1], intArray1[2, 2, 0], intArray1[2, 2, 1]); 49 50 //4交錯數組即數組的數組 51 int[][] intArray2 = new int[4][]; 52 intArray2[0] = new int[] { 1 }; 53 intArray2[1] = new int[] { 2, 22 }; 54 intArray2[2] = new int[] { 3, 33, 333 }; 55 intArray2[3] = new int[] { 4, 44, 444, 4444 }; 56 Console.WriteLine("交錯數組"); 57 for (int i = 0; i < intArray2.Length; i++) 58 { 59 for (int j = 0; j < intArray2[i].Length; j++) 60 { 61 Console.WriteLine("{0}", intArray2[i][j]); 62 } 63 } 64 Console.ReadKey(); 65 int[] myIntArray = new int[5] { 1, 2, 3, 4, 5 }; 66 Object[] myObjArray = new Object[5] { 26, 27, 28, 29, 30 }; 67 Console.WriteLine("Initially,"); 68 Console.Write("integer array:"); 69 PrintValues(myIntArray); 70 Console.Write("Object array: "); 71 PrintValues(myObjArray); 72 73 System.Array.Copy(myIntArray, myObjArray, 2); 74 75 Console.WriteLine("\n After copying the first two elements of the integer array to the Object array."); 76 Console.Write("integer array:"); 77 PrintValues(myIntArray); 78 Console.Write("Object array: "); 79 PrintValues(myObjArray); 80 81 System.Array.Copy(myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray, myIntArray.GetUpperBound(0) - 1, 2); 82 83 Console.WriteLine("\nAfter copying the last two elements of the object array to the integer array,"); 84 Console.Write("integer array:"); 85 PrintValues(myIntArray); 86 Console.Write("Object array:"); 87 PrintValues(myObjArray); 88 Console.ReadKey(); 89 } 90 91 public static void PrintValues(Object[] myArr) 92 { 93 foreach (Object i in myArr) 94 { 95 Console.Write("\t{0}", i); 96 } 97 Console.WriteLine(); 98 } 99 100 public static void PrintValues(int[] myArr) 101 { 102 foreach (int i in myArr) 103 { 104 Console.Write("\t{0}", i); 105 } 106 Console.WriteLine(); 107 } 108 } 109 }
運行結果如下:
數組是一種數據類型,並且二維數組在圖像處理中會應用。一維數組的起始下標是[0]。二維數組的起始下標是[0,0]。交錯也稱參差數組的起始下標是[0][0]。
數組一定是固定長度和類型確定並且有序的,這種呆板的數據類型,導致它的INSERT,非常不方便,於是有了ArrayList
那麼C#中數組是引用類型?還是值類型?C#中數組是引用類型,為什麼是引用類型,依據是什麼?