定义数组
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CSharp { class Demo2 { static void Main(string[] args) { //定义数组的5种方式(主要记住第一种和第三种即可) int[] num1 = new int[10];//指定数组的长度,声明的时候直接创建数组 int[] num2;//先声明在创建数组 num2 = new int[10];//创建数组 int[] num3 = { 9, 8, 7, 6, 5, 4, 3, 2, 0, 1};//直接赋值决定成员的个数 int[] num4 = new int[] { 1, 2, 4, 5, 6, 7 };//初始值来决定数组长度,和第三种一样的 int[] num5 = new int[3] { 1, 2, 3 };//长度和所给的初始值一样 ,类似于第三种一样的 //c#给的最大值和最小值常量 int min = int.MaxValue;//这里用最大值存放最小值 ,在下面循环才能更好覆盖变量而已 int max = int.MinValue;//c#最小值 int sum = 0; //遍历数组foreach等价于for (int i = 0; i< num3.Length; i++) foreach (int i in num3) { if (i > max) max = i;//没有大括号只能写一句代码 if (i < min) min = i;//最小值:当值小于最大值,就得到最小值了 sum += i; } Console.WriteLine("num3的最大值是:{0},最小值是:{1},和为:{2},平均值:{3}",max,min,sum,sum/num3.Length); Console.Write("数组冒泡排序:"); for (int i = 0; i < num3.Length - 1; i++) {//数组长度num3.Length是从1开始,而数组下标从0开始索引值,所以长度需要-1才能得到当前下标值 for (int j = 0; j < num3.Length - 1 - i; j++) { if (num3[j] > num3[j + 1]) { //交换顺序,升序排列 int temp = num3[j];//数组[0]下标为第一个。 num3[j] = num3[j + 1]; num3[j + 1] = temp; } } } //c#给的数组排序(一句代码简化了冒泡排序) Array.Sort(num3);//等价于上面的for循环升序排列 Array.Reverse(num3);//倒序,反转,单独使用就是从最后一个往前排列,但是配合Sort方法升序后在反转就变倒序了 for (int i = 0; i < num3.Length; i++) { Console.Write(num3[i] + (i == num3.Length - 1 ? "" : ","));//括号里面使用了三目运算符,去掉了最后一个值后面的逗号 } Console.ReadKey(); Console.ReadLine();//利用接收输入来暂停程序,避免程序一闪而过 } } }
原文:https://www.cnblogs.com/longxinyv/p/14428115.html