(1) C# 数组

tech2024-12-18  4

class Program { class student { public student(string _name, int _id) { name = _name; id = _id; } public string name; public int id; } private static void printMsg(object[] obj) { student stu = (student)obj[4]; Console.Write("name:" + stu.name + "\nid:" + stu.id); } static void Main(string[] args) { student stu = new student("su", 10); int[] arr = new int[100]; //跟c++不一样 int arr[100]; int[] arr1 = new int[4] { 1, 2, 3, 4 };//初值数量为声明的数组长度 int[] arr2 = { 1, 2, 3, 4 };//更简单的形式 //访问元素 Console.WriteLine(arr[0]); Console.WriteLine(arr[45]);//未指定初值则默认初值为0 //引用类型数组 student[] stus = new student[100]; student[] stus1 = new student[100]; stus1[4] = new student("student", 1); //给引用类型分配内存 // Console.WriteLine(stus[4].name); // new 出一个数组还没有给引用类型赋内存,不能这样访问 Console.WriteLine(stus1[4].name); //分配内存后可以使用 //数组的遍历 foreach (var value in arr) { Console.WriteLine(value); } //多维数组 int[,] arrs = new int[3,4];//跟c++不一样 int[6][7] //声明之后赋初值 arrs[0, 0] = 1; arrs[0, 3] = 3; int[,] arrs1 ={ {1,2,3,4 },{3,4,5,6 },{5,6,7,8 } };//声明的时候赋初值 //Array类 // Array ar = new Array(); //Array类是抽象类,不能用构造函数创建数组 Array ar = Array.CreateInstance(typeof(int), 6);//用CreateInstance创建Array类,关键字typeof指明类型 //创建引用类型的Array Array arStu = Array.CreateInstance(typeof(student), 6); //设定初值 ar.SetValue(3, 3); arStu.SetValue(new student("", 100), 1); //数组作为函数参数,支持协变 printMsg(stus1); }

 

最新回复(0)