这些声明有区别吗?
Is there a difference in these declarations?
这两个都在声明 Jagged Lists 正确吗?
//Declare 'Jagged' List
//Version 1
private List<string>[] fieldInfoArray = new List<string>[7];
//Version 2
private List<string>[][] fieldInfoArray = new List<string>[7][];
这两个声明没有区别吧?他们基本上都在做同样的事情,对吗?声明锯齿状列表?
private List<string>[] fieldInfoArray = new List<string>[7];
这是在声明一个数组,大小为 7,List<string>
。
private List<string>[][] fieldInfoArray = new List<string>[7][];
这是在声明一个 List<string>
的二维数组,其中包含 7 行 List<string>
数组,这些数组尚未成为 initialized/allocated。
- 两者都声明了数组。当您尝试访问任一数组的元素时,您将返回
List<string>
.
- 第一个是大小为 7 的一维数组。所有 7 个元素都是
List<string>
s。
- 第二个数组也是一维数组,大小为 7,但这 7 个元素中的每一个都是另一个 "1-D
List<string>
的数组(而不仅仅是“List<string>
”)。
这两个都在声明 Jagged Lists 正确吗?
//Declare 'Jagged' List
//Version 1
private List<string>[] fieldInfoArray = new List<string>[7];
//Version 2
private List<string>[][] fieldInfoArray = new List<string>[7][];
这两个声明没有区别吧?他们基本上都在做同样的事情,对吗?声明锯齿状列表?
private List<string>[] fieldInfoArray = new List<string>[7];
这是在声明一个数组,大小为 7,List<string>
。
private List<string>[][] fieldInfoArray = new List<string>[7][];
这是在声明一个 List<string>
的二维数组,其中包含 7 行 List<string>
数组,这些数组尚未成为 initialized/allocated。
- 两者都声明了数组。当您尝试访问任一数组的元素时,您将返回
List<string>
. - 第一个是大小为 7 的一维数组。所有 7 个元素都是
List<string>
s。 - 第二个数组也是一维数组,大小为 7,但这 7 个元素中的每一个都是另一个 "1-D
List<string>
的数组(而不仅仅是“List<string>
”)。