c#2.0-多维数组主义c#
本文关键字:数组 c#2 | 更新日期: 2023-09-27 17:57:50
我想创建一个多维ArrayList
-我不知道大小,应该在运行时决定。
我将如何做到这一点,以及如何访问它?
它将是一个整数数组。
使用
List<List<Integer>>
列表本身并不是多维的,但你可以用它来存储列表,然后它可以存储整数,实际上就像一个多维数组。然后,您可以访问以下元素:
// Get the element at index x,y
int element = list[x][y];
用尺寸为x和y的初始元素填充列表:
for (int i=0; i<x; i++)
{
// Have to create the inner list for each index, or it'll be null
list.Add(new List<Integer>());
for (int j=0; j<y; j++)
{
list[i].Add(someValue); // where someValue is whatever starting value you want
}
}
ArrayList不是泛型的,因此您无法指定它将包含什么。我建议使用常规的通用列表:
List<List<int>>
对于访问,只需通过索引引用即可:
List<List<int>> myList = new List<List<int>>();
int item = myList[1][2];
如果创建后不需要更改大小,也可以使用array.CreateInstance方法创建的2D数组,而不是潜在的锯齿状列表。
int[,] arrayOfInts = (int[,])Array.CreateInstance(typeof(int), 4, 5);
arrayOfInts[0,0] = 5;
Console.WriteLine(arrayOfInts[0,0]);
arrayOfInts[0,4] = 3;
Console.WriteLine(arrayOfInts[0,4]);