C# 数组的例子
原文:C# Tutorial and source code
Arrays 作为一个独立的群组单元,用来存储类似的数据类型。可以依靠数组索引处理数组元素。数组索引从零开始。数值数组的元素默认设为零值,引用值数组的元素默认设为空null。
整数数组
声明并初始化整数数组
int[] array = new int[4];
array[0] = 10;
array[1] = 20;
array[2] = 30;
array[3] = 40;
上面的代码,声明了有4个元素的整数数组,并且依索引赋值。这意味着数组索引范围0-3。
可以使用for 循环来访问这些值。
for (int i = 0; i < array.Length; i++)
{
MessageBox.Show (array[i]);
}
初始化数组
只用一条语句同样可以声明和初始化一个数组。
int[] array = new int[] {10, 20, 30, 40};
注意到上面的代码并没有指明数组长度,而是编译器自动确定了长度。
如何得到数组长度?
Array.Length
使用 array.Length 得到数组长度。
字符串数组
声明和初始化字符串数组
string[] week = new string[7];
week[0] = “Sunday”;
week[1] = “Monday”;
上面的C#代码声明了7个字符串的数组,并且赋了一部分的值。
string[] week = new string[] {“Sunday”,”Monday”,”Tuesday”};
上面的代码直接用值声明和初始化字符串数组。
string str = week[1];
可以通过数字索引访问数组的元素,上面的语句访问week数组的第二个元素。
下面的程序,我们定义了有7个字符串的数组,并且将每周的7个日期赋给它。接下来利用for 循环依次访问数组元素。最后使用数组对象的Length方法找到数组的结束。
string[] week = new string[7];
week[0] = “Sunday”;
week[1] = “Monday”;
week[2] = “Tuesday”;
week[3] = “Wednsday”;
week[4] = “Thursday”;
week[5] = “friday”;
week[6] = “Saturday”;
for (int i = 0; i < = week.Length-1; i++) {
MessageBox.Show(week[i]);
}
如何改变数组的长度
使用 Array.Resize < T > 方法,可以改变数组的长度,这样就可以使数组变大或缩小。Array.Resize < T > 方法通过改变一维数组的元素数量,从而改变数组的大小。
Array.Resize < T > – T 是数组元素的类型。
这个方法一般只用在一维数组中。这个方法根据指定的大小从新分配一个新的数组,并且拷贝原数组的元素到新数组,然后用新的数组替换掉老得数组。
改变数组大小
// 初始化数组
char[] array = new char[5];
array[0] = ‘A’;
array[1] = ‘B’;
array[2] = ‘C’;
array[3] = ‘D’;
array[4] = ‘E’;
for (int i = 0; i < array.Length; i++) {
MessageBox.Show (array[i].ToString ());
}
Array.Resize(ref array, 3);
for (int i = 0; i < array.Length; i++) {
MessageBox.Show(array[i].ToString ());
}
Array.Resize(ref array, 3);
上面的代码将数组变为3个元素的新数组。
for..each 循环和数组
int[] array = { 10, 30, 50 }; //数组声明
foreach (int element in array) {
Console.WriteLine(element);
}
数组排序
如同降序一样可对数组升序排序。可以用Array.Sort 方法给一维数组排序。我们也可以用Array.Reverse 方法将整个的一维数组的元素按顺序进行反转。
如何用不同的数据类型新建数组
声明对象数组的时候,你可以用不同的数据类型新建数组。因为 System.Object 是所有其他类型的基类,在数组中的一个项可以是任何其他类型对象的一个引用。
System.Array.CopyTo 和 System.Array.Clone()
System.Array.CopyTo 方法可以将数组中的元素拷贝到另外已经存在的一个数组中,位置由给点的一个索引确定。System.Array.Clone() 方法返回一个新数组,而新数组不一定是一个先存在的数组,新建的数组将包含原数组的全部元素。
如何确定一个值是否在数组中?
下面的程序演示如何从一个数组中找到一个值。
string stringToCheck = "GHI"; string[] stringArray = { "ABC", "DEF", "GHI", "JKL" }; foreach (string x in stringArray) { if (x.Equals (stringToCheck)) { MessageBox.Show("Find the string ..." + x); } }
本文译自http://csharp.net-informations.com/
更准确内容,请访问作者原文。