C#数组和集合专题1(Array)
一、创建Array数组 arr
C#中提供了一个名为System.Array的类,它是CLR中所有数组的基类,通过它可以对数组进行许多的操作。
Array arr=Array.CreateInstance(typeof(int),8);
创建了一个int长度为8的一维数组arr,其中typeof用于获取类型的System.Type对象,Type实例可以表示类、值类型、数组、接口和枚举器。使用CreateInstance()的其它重载形式可以创建多维数组。要创建一个3行4列的二维字符串数组,可以这样写
Arrar myStr=Array.CreateInstance(typeof(string),3,4);
通过一个实例了解System.Array一般的属性和方法:
using System;
namespace ArrayExample
{
class ArrayTest
{
static void Main(string[]args)
{
//构建数组
Array arr = Array.CreateInstance(typeof(string), 4);
//初始化数组
arr.SetValue("我", 0);
arr.SetValue("为", 1);
arr.SetValue("秋", 2);
arr.SetValue("香", 3);
Console.WriteLine("数组值");
for (int i = 0; i < 4; i++)
{
Console.WriteLine("元素{0}:{1}", i + 1, arr.GetValue(i));
}
Console.WriteLine("\n数组元素的总个数:{0}", arr.Length.ToString());
Console.WriteLine("\n数组秩(数组的维数):{0}", arr.Rank.ToString());
Array.Sort(arr); //排序是静态的方法
Console.WriteLine("\n排序后的数组为");
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine("元素{0}:{1}", i + 1, arr.GetValue(i));
}
Array.Reverse(arr); //反转也静态的
Console.WriteLine("\n排序后的数组为");
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine("元素{0}:{1}", i + 1, arr.GetValue(i));
}
}
}
}