"List <int> [,]"和"List <List <int >>"之间的区别

Onl*_*ind 4 c#

是什么List<int>[,]List<List<int>>"C#之间的差异?

我知道通话也不同,也可以访问这些职位,但目的是一样的吗?

我已经看过两次具有相同结果的实现,并且实现了这两种形式.

Ser*_*kiy 7

List<int>[,]是一个二维的列表数组.您应该定义不能更改的"矩阵"大小.创建后,您可以在单元格中添加列表:

List<int>[,] matrix = new List<int>[2, 3]; // size is fixed
matrix[0, 1] = new List<int>(); // assign list to one of cells
matrix[0, 1].Add(42); // modify list items
Run Code Online (Sandbox Code Playgroud)

List<List<int>>是一个列表列表.您有包含其他列表作为项目的列表.它具有单一维度,此维度的大小可能会有所不同 - 您可以添加或删除内部列表:

List<List<int>> listOfLists = new List<List<int>>(); // size is not fixed
listOfLists.Add(new List<int>()); // add list
listOfLists[0].Add(42); // single dimension
Run Code Online (Sandbox Code Playgroud)

它们是不同的数据结构.

实际上,你对类型项目的问题过于复杂List<int>.任何类型的结构都将保持不变T.所以,你有二维数组T[,]和列表List<T>.如上所述,这些数据结构完全不同.