C#之常见数组编码错误

时间:2024-09-05 23:04:50

摘抄自C#本质论(第四版,P55)

常见错误 错误描述 改正后的代码
int numbers[] 用于声明数组的方括号放在数据类型之后,而不是在变量标识符之后 int[] numbers;

int[] numbers;

numbers={42,84,168};

如果是在声明之后再对数组进行赋值,需要使用new关键字,并可选择指定数据类型

int[] numbers;

numbers=new int[]{42,84,168};

int[3] numbers={42,84,168}; 不能在变量声明中指定数组大小 int[] numbers={42,84,168};
int[] numbers=new int[]; 除非提供数组字面量,否则必须在初始化时指定数组大小。 int[] number=new int[3];
int[] numbers=new int[3]{} 数组大小指定为3,但数组字面量中没有任何元素。数组的大小必须与数组字面量中的元素个数相符。 

int[] numbers=

new int[3]{42,84,168};

int[] numbers=new int[3];

Console.WriteLine(numbers[3]);

数组索引起始于零。因此,最后一项的索引比数组长度小1。注意,这是运行时错误,而不是编译时错误。

int[] numbers=new int[3];

Console.WriteLine(numbers[2]);

int[] numbers=new int[3];

numbers[numbrs.Length]=42;

和上一个错误相同:需要从Length减去1来访问最后一个元素。注意,这是运行时错误,而不是编译时错误。

int[] numbers=new int[3];

numbers[numbers.Length-1]=42;

int[] numbers;

Console.WriteLine(numbers[0]);

尚未对numbers数组进行实例化,所以它暂时是不可访问的。

int[] numbers={42,84};

Console.WriteLine(numbers[0]);

int[,] numbers=

{{42}.{84,42}};

多维数组的结构必须一致 int[,] numbers={{42,168},{84,42}};

int[][] numbers=

{{42,84}.

{84,42}};

交错数组要求对数组中的数组进行实例化。 int[][] numbers={new int[]{42,84},new int[]{84,42}};