C#中数组的属性和方法(续)2009-07-04 本站 L小凤一. C#数组的属性一维数组和多维(二维以上)的数组的属性和方法都是差不多的,主要是在数组的方法上有些参数的不一致,现在我们先看下一维数组的有关属性;int[] myint = new int[5];for (int x = 1; x <= 5; x++)myint[x - 1] = x;Console.WriteLine("显示数组中的数据");for (int i = 1; i <= 5; i++)Console.WriteLine("第{0}个元素的值是{1}", i, myint[i-1]);Console.WriteLine("显示数组的性质");Console.WriteLine(myint.IsFixedSize);//是否固定大小Console.WriteLine(myint.IsReadOnly);// 是否只读Console.WriteLine(myint.IsSynchronized);//是否异步操作Console.WriteLine(myint.Length);//数组的长度Console.WriteLine(myint.LongLength);//数组的长度Console.WriteLine(myint.Rank);//数组的维数Console.WriteLine(myint.SyncRoot);//数组的对象运行图如下:

数组元素的索引号是从0开始的,myint[0] 是数组的第一个元素,其最后一个元素是myint[ArraySize-1].如果索引号的值大于等于数组的长度,则会出现错误异常:

二. C#数组提供的方法1. 常用的实例对象方法
Console.WriteLine(Array.IndexOf(myint,3));//获取数组中元素为3在数组中的索引号Console.WriteLine(Array.LastIndexOf(myint, 3));//获取数组中元素为3在数组中的索引号,数组中最后与3匹配Console.WriteLine(Array.AsReadOnly(myint));//Array.Reverse(myint);//将数组的元素for (int i = 1; i <= 5; i++)Console.WriteLine("第{0}个元素的值是{1}", i, myint[i - 1]); | |
Console.WriteLine(myint.GetLength(0));//获取指定维数的元素数Console.WriteLine(myint.GetLongLength(0));Console.WriteLine(myint.GetLowerBound(0));//获取指定维数的下限;Console.WriteLine(myint.GetType());//当前实例对象的类型Console.WriteLine(myint.GetValue(2));//获取数组中索引号为2的元素的值Console.WriteLine(myint.GetHashCode());//获取对象的哈希吗Console.WriteLine(myint.ToString());Console.WriteLine(myint.GetEnumerator());//获取对象的枚举myint.SetValue(111,0);//设置{newValue,index_of_ArrayConsole.WriteLine(myint[0]);Console.WriteLine("Clone方法");int[] orignalArray = { 1, 2, 3 };int[] cloneArray = (int[])orignalArray.Clone();//克隆一个新的一样的数组cloneArray[0] = 10;cloneArray[1] = 20;cloneArray[2] = 30;foreach (int i in orignalArray)Console.WriteLine(i);foreach (int i in cloneArray)Console.WriteLine(i);int[] copyArr = new int[myint.Length];myint.CopyTo(copyArr,0);//复制一个数组到另一个数组Console.WriteLine("{0},{1},{2},{3},{4}", copyArr[0], copyArr[1], copyArr[2], copyArr[3], copyArr[4]);Console.WriteLine("{0},{1},{2},{3},{4}", myint[0], myint[1], myint[2], myint[3], myint[4]);int[] array_1 = new int[5];for (int i = array_1.GetLowerBound(0); i <= array_1.GetUpperBound(0); i++)array_1[i] = i + 1;//获取指定维数的下限 获取指定维数的上限for (int j = array_1.GetLowerBound(0); j <= array_1.GetUpperBound(0); j++)Console.WriteLine("array_1[{0}] = {1}", j, array_1[j]);程序运行的结果是:
| |
下一节将详细介绍Array的静态方法。