在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Int[] a ; //声明一维数组 Int[,] b;//声明二维数组 Int[][] c;//声明数组的数组,也称为锯齿数组 数组的每一个元素都分配在内存的托管堆上,数组只是保存了一个指向值的指针。数组元素是连续分配的,数组是引用类型。 数组声明赋值 如果数组是在声明后才进行赋值,必须通过new关键字和对应的数据类型。下列代码错误: {int[] myArray = new int[4]; myArray={1,2,3,4};} 声明二维数组 Int[,] cells={{1,2,3},{4,5,6},{7,8,9}}; Int I =cells.GetLength(0);//获取第一维的长度 Int i= cells.GetUpperBound(0); Int j =cells.GetLenght(1);//获取第二维的长度 Int j= cells.GetUpperBound(1); 初始化交错数组(锯齿) Int [][] list =new int[2][]; List[0]=new int[3]{1,2,3}; List[1]=new int[5]{1,2,3,4,5}; Int[][] cells={ New int[] {1,2,3,4}, New int[] {4,5,6}, New int[] {7,8}, New int[] {9} }; 赋值 Int[][] Num=new int[6][]; For(int i=0;i<6;i++) { Num[i]=new int[7]; For (int j=0;j<7;j++) { Num[i][j]=j; } } 遍历锯齿数组 Foreach(int [] items in cells) { Foreach(int item in items) { Console.write(item); } } 动态定义数组长度 IList<int> iList=new List<int>(); For(int i=0;i<=10;i++) { iList.Add(i); } Int[] intArray=iList.ToArray<int>();
数组和集合可以执行带GetEumerator方法的IEumerable接口。GetEumerator方法返回一个执行IEumerable接口的枚举。 string[] s = new string[5] { "火车", "汽车", "飞机", "自行车", "轿车" }; IEnumerator myEnum = s.GetEnumerator(); while (myEnum.MoveNext()) { string str = myEnum.Current.ToString(); Console.WriteLine(str); } Console.ReadKey();
将两个一维数组合并成一个二位数组
//将两个一维数组合并成一个二位数组 char[] arr1 = new char[] { 'a', 'b', 'c', 'd' }; char[] arr2 = new char[] { 'e', 'f', 'g' }; char[,] arr3 = new char[2, 4]; //arr3 .Rank是获取arr3数组的维度=2 for (int i = 0; i < arr3.Rank; i++) { switch (i) { case 0: { for (int j = 0; j < arr1.Length; j++) { arr3[i, j] = arr1[j]; } break; } case 1: { for (int j = 0; j < arr2.Length; j++) arr3[i, j] = arr2[j]; break; } } } //循环输出 for (int i = 0; i < arr3.Rank; i++) { //arr3.GetUpperBound(arr3.Rank - 1)的作用是获取arr3的第arr3.Rank-1维的数组的索引上限 for (int j = 0; j < arr3.GetUpperBound(arr3.Rank - 1) + 1; j++) { Console.Write(arr3[i, j] + " "); } Console.WriteLine(); } Console.ReadKey();
使用Array类创建下标不从[0,0]开始的二维数组
//使用Array类创建下标不从[0,0]开始的二维数组 索引基于[1,2] //Array类允许将已创建的数组轻质转换成声明为int[]的数组。 int[] lengths = { 2, 4 }; int[] lowerBounds = { 1, 2 }; //CreateInstace方法的第一个参数表示数组的数据类型 //第二个参数表示包含要创建数组每个维度大小的数组 //第三个参数表示包含要创建数组缩影下限的数组 Array arrayList = Array.CreateInstance(typeof(int), lengths, lowerBounds); arrayList.SetValue(1, 1, 2); arrayList.SetValue(2, 1, 3); arrayList.SetValue(3, 1, 4); arrayList.SetValue(4, 1, 5); arrayList.SetValue(5, 2, 2); arrayList.SetValue(6, 2, 3); arrayList.SetValue(7, 2, 4); arrayList.SetValue(8, 2, 5); for (int i = 1; i < arrayList.GetLength(0) + 1; i++) { for (int j = 2; j < arrayList.GetLength(1) + 2; j++) { Console.Write(arrayList.GetValue(i, j) + " "); } Console.WriteLine(); } Console.ReadKey();
枚举
enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 } static void Main(string[] args) { //枚举 foreach (string colorName in Enum.GetNames(typeof(Colors))) { Console.WriteLine("{0}={1}", colorName, Convert.ToInt32(Enum.Parse(typeof(Colors), colorName))); } Console.WriteLine(); Colors myOrange = (Colors)Enum.Parse(typeof(Colors), "Red,Yellow");//强制转换 Console.WriteLine("{0}={1}",myOrange ,Convert .ToInt64 (myOrange )); Console.ReadKey(); }
在DataGridView中显示二维数组
string[,] grayArr = OperCls.CalcQulitRateString(); int RowNum = grayArr.GetLength(0);//获得第一维的长度 int ColumnNum = grayArr.GetLength(1);//获得第二维的长度 DataTable dt = new DataTable(); for (int i = 0; i < ColumnNum; i++) { dt.Columns.Add(i.ToString(), typeof(string)); } for (int i = 0; i < RowNum; i++) { DataRow dr = dt.NewRow(); for (int j = 0; j < ColumnNum; j++) { dr[j] = grayArr[i, j]; } dt.Rows.Add(dr); } dataGridView1.DataSource = dt;
注:本文整理自网络!!! |
请发表评论