标签:
同一类型和不同类型的多个对象:
如果需要使用同一类型的多个对象,就可以使用集合或者数组.
简单数组:
如果需要使用同一类型的多个对象,就可以使用数组,数组是一种数据结构,它可以包含同一类型的多个元素.
数组的声明:int [] myArray 数组类型+方括号+变量名=数组
数组的初始化:数组声明后就可以为数组分配内存,数组是引用类型,所以给它分配堆上的内存,初始化数组使用new运算符.
如:myArray = new int[4] //数组中元素的类型和数量来初始化数组的变量.
等价于int [] myArray = new int[4];
数组初始化器:
数组初始化器只能在声明数组变量时使用,不能再声明数组之后使用.
如:int [] myArray = new int [4] {4,7,11,2};
int [] myArray = new int [] {4,7,11,2}; //不指定数组的大小,因为初始化器会自动统计元素的个数.
int [] myArray = {4,7,11,2};
访问数组元素:
声明和初始化数组后应使用索引器访问其中的元素.索引器只支持整数参数.
索引器由0开始,索引器最大值是元素个数减1,如果使用错误的索引器值,就是抛出IndexOutOfRangeException类型的异常.
如果不知道数组中元素个数,可以使用myArray.Length属性.也可以使用Foreach语句迭代数组中的所有元素.
注:上述均为预定义的数组.
使用引用类型:
如:public class Person
{
public string FirstName{get;set;}
public string LastName{get;set;}
public override string ToString()
{
return String.Format("{0} {1}",FirstName,LastName);
}
}
声明一个包含两个Person元素的数组:Person[] myPersons = new Person[2];
注意:数组中元素是引用类型.就必须为每个数组元素分配内存.如果使用了未分配内存的元素,就会抛出NullReferenceException类型的异常.
元素为引用类型的数组分配内存:myPersons[0] = new Person {FirstName = "Ayrton",LastName = "Senna"};
可以为引用类型使用数组初始化器:Person [] myPersons2 =
{
new Person{FirstName = "Ayrton",LastName = "Senna"}
....................................................
}
多维数组:
一维数组用一个整数来索引,多维数组用多个整数来索引.
如:int[,] twodim = new int [3,3];
多维数组使用数组初始化器:
int[,] twodim = {{1,2,3},{4,5,6},{7,8,9}};
注意:多维数组使用数组初始化器,必须初始化数组的每个元素,不能遗漏任何元素.
锯齿数组:int[][] jagged = new int[3][];
锯齿数组只有第一个方括号中设置行数,第二个方括号设置为空.
迭代锯齿数组需要在两层for循环中进行,外层迭代每一行,内层迭代每一个元素.
如果数组包含的元素个数超出了整数的取值范围,可以使用LongLength属性来获得元素个数,使用Rank属性获得数组的维数.
如: static void Main(string[] args)
{
int[][] jagged = new int[3][];
Console.WriteLine(jagged.LongLength);
Console.WriteLine(jagged.Rank);
Console.ReadKey();
}
标签:
原文地址:http://www.cnblogs.com/cheny3636/p/5055207.html