摘抄自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}}; |