某一天忽然发现自己连基础的数组声明都不是很清楚................... Orz
查了一下,普通的数组在声明的时候都要指定范围的,不能动态声明留待之后随意使用。想使用动态维数的话,需要定义那种list之类的数据格式....
声明一个数组:
int[] array = new int[5];
或
string[] stringArray = new string[6];
初始化一个数组:
int[] array1 = new int[5] { 1, 3, 5, 7, 9 };
string[] weekDays = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
如果在声明数组时将其初始化,则可以使用下列快捷方式:
C#
int[] array2 = { 1, 3, 5, 7, 9 };
string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
可以声明一个数组变量但不将其初始化,但在将数组分配给此变量时必须使用 new 运算符。例如:
int[] array3;
array3 = new int[] { 1, 3, 5, 7, 9 }; // OK
//array3 = {1, 3, 5, 7, 9}; // Errorstring[] a = new string[] { };
a[0] = "we"; //错!在new的时候没有指定大小,默认是0个元素,所以对其任意一个元素赋值都是越界.值类型数组和引用类型数组
请看下列数组声明:
C#
SomeType[] array4 = new SomeType[10];该语句的结果取决于 SomeType 是值类型还是引用类型。如果是值类型,则该语句将创建一个由 10 个 SomeType 类型的实例组成的数组。如果 SomeType 是引用类型,则该语句将创建一个由 10 个元素组成的数组,其中每个元素都初始化为空引用。
有关值类型和引用类型的更多信息,请参见类型(C# 参考)。
==================================================
C#中声明一个不确定长度的数组
先添加集合类的命名空间:using System.Collections
1.在C#中,数组一般用来存放大小确定的数据.
如果数组大小未知,建议使用List<>.
List<string> a=new List<string>();
a.Add("we");
MessageBox.Show(a[0]);
同时,你可以用a.ToArray()来随时转换成string[].
也可以List<string> b=new List<string>(a.ToArray());将数组数据初始化进List<>2.
也可以用List的ArrayList,例如:
List list = new ArrayList();
//用add()的方法增加元素
list.add(你的元素);