Welcome

首页 / 软件开发 / C# / C#中数组的属性和方法(续)

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_Array

Console.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的静态方法。