C#中数组的使用
2015-07-21 14:08
351 查看
1、简单数组:
声明:
int[] myArray
初始化:
声明了数组后,就必须为数组分配内存来保存数组的所有元素。特别注意的是数组是引用类型,故需要使用new运算符来指定数组中元素的类型和数量来初始化数组的变量。
myArray = new int[4]
声明初始化合并:
int [] myArray = new int[4];
使用初始化器为数组的每个元素赋值:
需要注意的是数组初始化器只能在声明数组变量时使用,不能再声明数组变量之后使用
int [] myArray = new int[4]{2,3,4,5};
如果用花括号初始化数组,还可以不知道数组的大小,编译器会自动统计元素的个数:
int [] myArray = new int[]{2,3,4,5};
还有一种更简单的方式:
int [] myArray = {2,3,4,5};
访问数组元素: 通过索引器传递元素编号,就可以访问数组;索引器总是以0开头。
如果使用错误的索引器值,就会抛出异常 IndexOutOfRangeException
声明一个包含两个对象的数组:
pulic class Person
{ public string FirstName;
public string LastName;
}
Person [] myPersons = new Person[2];
接下来必须注意的是:数值中的元素是引用类型,必须为每个数组元素分配内存。若使用了数组中未分配内存的元素,就会抛出NullReferenceException异常。
myPersons[0] = new Person{FirstName = "wang", LastName = "moumou"};
myPersons[1] = new Person{FirstName = "wu", LastName = "meimei"};
同样,对于自定义类型也可以使用初始化器:
Person [] myPerson2 = {
new Person{FirstName = "wang", LastName = "moumou"},
new Person{FirstName = "wu", LastName = "meimei"}
};
2、多维数组:
声明二维数组,需要在方括号中加上一个逗号;数组在初始化时应指定每一堆的大小
int [,] dim2 = new int[3, 3];
dim2[0,0] = 1;
dim2[0,1] = 2;
dim2[0,2] = 3;
dim2[1,0] = 4;
dim2[1,1] = 5;
dim2[1,2] = 6;
dim2[2,0] = 7;
dim2[2,1] = 8;
dim2[2,2] = 9;
声明三维数组, 需要在方括号里使用两个逗号
3、锯齿数组
例如:
1 2
3 4 5 6
7 8 9 int [][]
jagged = new int [3][];
jagged[0]=new int[2]{1,2};
jagged[1]=new int[4]{3,4,5,6};
jagged[2]=new int[3]{7,8,9};
声明:
int[] myArray
初始化:
声明了数组后,就必须为数组分配内存来保存数组的所有元素。特别注意的是数组是引用类型,故需要使用new运算符来指定数组中元素的类型和数量来初始化数组的变量。
myArray = new int[4]
声明初始化合并:
int [] myArray = new int[4];
使用初始化器为数组的每个元素赋值:
需要注意的是数组初始化器只能在声明数组变量时使用,不能再声明数组变量之后使用
int [] myArray = new int[4]{2,3,4,5};
如果用花括号初始化数组,还可以不知道数组的大小,编译器会自动统计元素的个数:
int [] myArray = new int[]{2,3,4,5};
还有一种更简单的方式:
int [] myArray = {2,3,4,5};
访问数组元素: 通过索引器传递元素编号,就可以访问数组;索引器总是以0开头。
如果使用错误的索引器值,就会抛出异常 IndexOutOfRangeException
声明一个包含两个对象的数组:
pulic class Person
{ public string FirstName;
public string LastName;
}
Person [] myPersons = new Person[2];
接下来必须注意的是:数值中的元素是引用类型,必须为每个数组元素分配内存。若使用了数组中未分配内存的元素,就会抛出NullReferenceException异常。
myPersons[0] = new Person{FirstName = "wang", LastName = "moumou"};
myPersons[1] = new Person{FirstName = "wu", LastName = "meimei"};
同样,对于自定义类型也可以使用初始化器:
Person [] myPerson2 = {
new Person{FirstName = "wang", LastName = "moumou"},
new Person{FirstName = "wu", LastName = "meimei"}
};
2、多维数组:
声明二维数组,需要在方括号中加上一个逗号;数组在初始化时应指定每一堆的大小
int [,] dim2 = new int[3, 3];
dim2[0,0] = 1;
dim2[0,1] = 2;
dim2[0,2] = 3;
dim2[1,0] = 4;
dim2[1,1] = 5;
dim2[1,2] = 6;
dim2[2,0] = 7;
dim2[2,1] = 8;
dim2[2,2] = 9;
声明三维数组, 需要在方括号里使用两个逗号
3、锯齿数组
例如:
1 2
3 4 5 6
7 8 9 int [][]
jagged = new int [3][];
jagged[0]=new int[2]{1,2};
jagged[1]=new int[4]{3,4,5,6};
jagged[2]=new int[3]{7,8,9};
相关文章推荐
- C#中特性,以及应用场景(收藏链接)
- 在C#中使用WIA获取扫描仪数据
- 在C#中使用WIA获取扫描仪数据(利用Filter处理图片)
- .Net学习笔记----2015-07-21(C#基础复习06,多态复习)
- c# 封装,继承,多态
- .Net学习笔记----2015-07-21(C#基础复习05,里氏转换)
- C#中param关键字
- .Net学习笔记----2015-07-21(C#基础复习04,面向对象语法和继承复习)
- WCF客户端C#代码 配置config文件
- 转C#中的Finalize,Dispose,SuppressFinalize
- C#中Cookie之存储对象
- [干货来袭]C#6.0新特性
- .Net学习笔记----2015-07-21(C#基础复习03,简单工厂和抽象类)
- C#创建Windows Service(Windows 服务)基础教程
- VS2015, .NET 4.6, C# 6.0, F# 4.0等重量级产品正式上线
- C#设计模式 - 观察者模式(使用委托)
- VS2015, .NET 4.6, C# 6.0, F# 4.0等重量级产品正式上线
- C#如何打开并读取usb的文件目录
- C#中循环语句:while、for、foreach的使用
- C# NetCut / NetworkCut