开发者社区> gaoshouma> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

C#数组定义和初始化

简介: 数组是具有相同数据类型的项的有序集合。要访问数组中的某个项,需要同时使用数组名称及该项与数组起点之间的偏移量。在 C# 中,声明和使用数组的方法与 Java 有一些重要区别。
+关注继续查看

数组是具有相同数据类型的项的有序集合。要访问数组中的某个项,需要同时使用数组名称及该项与数组起点之间的偏移量。在 C# 中,声明和使用数组的方法与 Java 有一些重要区别。

一维数组
一维数组以线性方式存储固定数目的项,只需一个索引值即可标识任意一个项。在 C# 中,数组声明中的方括号必须跟在数据类型后面,且不能放在变量名称之后,而这在 Java 中是允许的。因此,类型为 integers 的数组应使用以下语法声明:

int[] arr1;


下面的声明在 C# 中无效:

//int arr2[]; //compile error


声明数组后,可以使用 new 关键字设置其大小,这一点与 Java 相同。下面的代码声明数组引用:

int[] arr;
arr = new int[5]; // create a 5 element integer array


然后,可以使用与 Java 相同的语法访问一维数组中的元素。C# 数组索引也是从零开始的。下面的代码访问上面数组中的最后一个元素:

System.Console.WriteLine(arr[4]); // access the 5th element


初始化

C# 数组元素可以在创建时使用与 Java 相同的语法进行初始化:

int[] arr2Lines;
arr2Lines = new int[5] {1, 2, 3, 4, 5};


但 C# 初始值设定项的数目必须与数组大小完全匹配,这与 Java 不同。可以使用此功能在同一行中声明并初始化 C# 数组:

int[] arr1Line = {1, 2, 3, 4, 5};


此语法创建一个数组,其大小等于初始值设定项的数目。

在程序循环中初始化
在 C# 中初始化数组的另一个方法是使用 for 循环。下面的循环将数组的每个元素都设置为零:

int[] TaxRates = new int[5];

for (int i=0; i<TaxRates.Length; i++)
{
TaxRates[i] = 0;
}


交错数组
C# 和 Java 都支持创建交错(非矩形)数组,即每一行包含的列数不同的数组。例如,在下面的交错数组中,第一行有四项,而第二行有三项:

int[][] jaggedArray = new int[2][];
jaggedArray[0] = new int[4];
jaggedArray[1] = new int[3];


多维数组
可以使用 C# 创建规则的多维数组,多维数组类似于同类型值的矩阵。虽然 Java 和 C# 都支持交错数组,但 C# 还支持多维数组(数组的数组)。

使用以下语法声明多维矩形数组:

int[,] arr2D; // declare the array reference
float[,,,] arr4D; // declare the array reference


声明之后,可以按如下方式为数组分配内存:

arr2D = new int[5,4]; // allocate space for 5 x 4 integers


然后,可以使用以下语法访问数组的元素:

arr2D[4,3] = 906;


由于数组是从零开始的,因此此行将第四行第五列中的元素设置为 906。

初始化
可以使用以下一种方法,在同一个语句中创建、设置并初始化多维数组:

int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} };
int[,] arr5 = new int [,] { {1,2,3}, {4,5,6} };
int[,] arr6 = { {1,2,3}, {4,5,6} };
感谢原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Zigbee自定义任务初始化|学习笔记
快速学习Zigbee自定义任务初始化
8 0
angular定义数组的三种方式
angular定义数组的三种方式
51 0
PHP数组定义方式
PHP数组定义方式
40 0
js二维数组定义和初始化的三种方法
方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知长度的二维数组 var tA...
1904 0
C++数组定义和访问
转自:http://www.cnblogs.com/kykuaileren/archive/2011/09/04/2166646.html 一、数组定义和初始化 1: 一维数组初始化: 2: 标准方式一: int value[100]; // value[i]的值不定,没有初始化 3: 标准方式二: int value[100] = {1,2};
1298 0
初始化
初始值 当对象在创建的时候获得了一个特定的值,我们说这个对象被初始化了。 注意:初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。   1 列表初始化   C++语言定义了初始化的好几种不同的形式,这也是初始化问题复杂性的一个体现。
621 0
数组的初始化问题探究
1、错误写法 数据在声明的时候,下面的写法是不合法的。 char write_buf[]; char read_buf[];           2、合法写法 char write_buf[100]; char read_buf[] = "abcdef";   3、数组初始化的三种方法 (1)、memset(write_buf,‘0’,100); 说明,本行是将字符’0’,赋值给数组的每一个元素。
560 0
php中定义数组的方法
php中定义数组的方法 1、PHP定义数组的格式 数组名=array(); 如:$aa=array();//这样就定义了一个数组, 之后给元素赋值: $aa[0]="9016"; $aa[1]="9017"; $aa[2]="9018"; 2、P...
720 0
掌握C#自定义泛型类:从初始化说起
  Generic是Framework 2.0的新元素,中文名字称之为“泛型” ,特征是一个带有尖括号的类,比如List< T> C#自定义泛型类用得最广泛,就是集合(Collection)中。
848 0
+关注
gaoshouma
新人一枚
文章
问答
文章排行榜
最热
最新
相关电子书
更多
建立联系方法之一
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载