C# 数组Array
程序员文章站
2022-03-04 13:26:45
数组是对相同类型的一组数据的封装。数组定义的时候,要说明是对哪一种类型的封装,并且要指定长度。 运行结果如下: 数组是一种数据类型,并且二维数组在图像处理中会应用。一维数组的起始下标是[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#中数组是引用类型,为什么是引用类型,依据是什么?
下一篇: C# 委托基础1.0