//最基本的数组
//数组的定义:存储相同数据类型的集合.
//定义了一个长度为4的整型数组,这个数组只可以存整型数据
//第一种写法:动态分配内存空间
// int[] intArray = new int[4];
//第二种写法
// int[] intArray01 = new int[] { 1, 2, 5, 74, 5, 6 };
//注意:初始化数组的时候,要么给定长度,要么初始化数组内的元素个数.
//第三种写法
// int [] intArray02 = {1,2,3,4,5};
//实际上我们in[] 它的原型为Array
//而int[]数组可以用foreach循环的原因,归根结底为,Array类本身已经实现了IEnumrable这个接口.
//所以in[] 才可以用foreach循环
//访问数组的元素
//intArray [0] //访问数组第0个位置存储的元素
// Console.WriteLine ("数组第0个位置存储的元素为:"+intArray01[0]);
//访问数组第四个位置存储的元素----访问越界(程序崩溃)
// Console.WriteLine ("数组第4个位置存储的元素为:"+intArray01[4]);
//遍历数组1
// for (int i = 0; i < intArray01.Length; i++) {
// Console.WriteLine ("下标:{0},值为:{1}",i,intArray01[i]);
// }
//遍历数组2
// foreach (int item in intArray01) {
// Console.WriteLine (item);
// }
//如何修改数组中的元素呢?
//通过索引取值进行赋值
//intArray01[2] = 10.0f; 这是错误的,数组本身是整型,而复制的类型是浮点型.(类型不匹配)
//intArray01[2] = 10; 这个是正确的.
//练习1:分别声明string,char,float,double相应的类型的数组进行遍历访问.
// string[] stringArray = new string[5];
// string[] stringArray01 = new string[]{1,2,3,4,5,6};
// string[] stringArray02 = new string{9,8,7,4,5};
// char[] charArray = new char[6];
// char[] charArray01 = new char[]{1,2,3,4,5,6};
// char[] charArray02 = new char{1,2,3,4,5,6,7};
// float[] floatArray = new float[6];
// float[] floatArray01 = new float[] {1,23,4,5};
// float[] floatArray02 = new float {1,23,4,5};
// double[] doubleArray = new double[5];
Array arr = Array.CreateInstance (typeof(int), 5);
// arr.SetValue (1, 0);
// arr.SetValue (2, 1);
// arr.SetValue (3, 2);
// for(int i=0;i<5;i++)
// {
// Console.WriteLine (arr.GetValue(i));
// }
//把arr数组转换成int[]数组
// int[] newIntArray = (int[])arr;
// foreach (int item in newIntArray) {
// Console.WriteLine (item);
// }
//练习:分别定义练习1类型对应的Array数组,设置数组元素,并且遍历所有元素
// Array arr = Array.CreateInstance (typeof(string),4);
// arr.SetValue ("刘", 0);
// arr.SetValue ("阳", 1);
// arr.SetValue ("你", 2);
// arr.SetValue ("好", 3);
// for (int i = 0; i < arr.Length; i++) {
// Console.WriteLine (arr.GetValue(i));
// }
// string [] newIntArray = (string[])arr;
// foreach (string item in newIntArray) {
// Console.WriteLine (item);
// }
// int[] a = new int[]{ 65, 8, 85, 641, 64, 2, 6, 41, };
// int maxa = a [0],j=0;
// for (int i = 0; i < a.Length; i++) {
// if (maxa // maxa = a[i];
// j = i;
// }
// }
// Console.WriteLine ("A数组中最大的值为{0},下标为{1}",maxa,j+1);
// 练习3: 找出数组中最大值以及最大值所在的位置
//
// int[] b = new int[]{ 1, 2, 9 };
// int maxb = b [0],minb = b[0],sum=0;
// for (int i = 0; i < b.Length ; i++) {
// if (maxb // maxb = b [i];
// }
// if (minb >b[i]) {
// minb = b [i];
// }
// sum += b [i];
// }
// Console.WriteLine ("b数组中的最大值为{0},最小值为{1},平均值为{2}",maxb,minb,sum/b.Length);
// 练习4:定义一个整型数组,初始化3个整数,打印出最大值,最小值,平均值.
//
// int[] c = new int[3];
// int max = c [0];
// for (int i = 0; i < c.Length; i++) {
// Console.WriteLine ("请输入第{0}个整数",i+1);
// c [i] = Convert.ToInt32 (Console.ReadLine ());
// if (max
// }
// }
// Console.WriteLine ("最大值为{0}",max);
// 练习5: 定义一个数组从键盘上获取三个整型数值,打印出最大值