这些声明有区别吗?

时间:2015-11-14 03:52:37

标签: c# jagged-arrays

这两个都宣称锯齿状列表是正确的吗?

//Declare 'Jagged' List
//Version 1
private List<string>[] fieldInfoArray = new List<string>[7];

//Version 2
private List<string>[][] fieldInfoArray = new List<string>[7][];

这两个声明之间没有区别吗?他们基本上都在做同样的事情吗?声明一个锯齿状的清单?

2 个答案:

答案 0 :(得分:2)

  • 两者都声明了数组。当您尝试访问任一数组的元素时,将返回List<string>
  • 第一个是大小为7的一维数组。所有7个元素都是List<string> s。
  • 第二个数组也是大小为7的1-D数组,但这7个元素中的每一个都是另一个 1-D数组 {{1 “(而不只是”List<string>“)。

答案 1 :(得分:0)

private List<string>[] fieldInfoArray = new List<string>[7];

这是一个大小为7的数组List<string>

private List<string>[][] fieldInfoArray = new List<string>[7][];

这是声明一个List<string>的二维数组,包含7行List<string>数组,这些数组尚未初始化/分配。