C#空数组创建

时间:2013-08-28 22:52:28

标签: c# arrays

我遇到了数组的一部分问题,我需要在控制台程序中创建一个三维数组,该程序启动为空并在请求用户输入后将为用户指定值。它不需要持续超过程序的初始化。

我已经创建了一些已经存在值的数组,但是我从来没有必要创建一个可以调用用户值的数组。

3 个答案:

答案 0 :(得分:1)

您可以通过指定括号内的大小来创建特定大小的数组,然后可以稍后填写数据。这是一个用户指定大小的三维数组样本。

Console.WriteLine("Enter length of arrays (three dimensions, comma separated)");
string line = Console.ReadLine();
string[] stringDimensions = line.Split(',');
int[] intDimensions = stringDimensions.Select(s => Convert.ToInt32(s)).ToArray();

var array = new string[intDimensions[0],intDimensions[1],intDimensions[2]];

for (int i = 0; i < array.GetLength(0); i++)
{
    for (int j = 0; j < array.GetLength(1); j++)
    {
        for (int k = 0; k < array.GetLength(2); k++)
        {
            array[i, j, k] = String.Format("{0}.{1}.{2}", i, j, k);
        }
    }
}

答案 1 :(得分:0)

所有数组都以空格开头,即数组中的所有项都设置为类的默认值。例如,如果它是一个字符串数组,则所有项目都以null开头。

如果它是int的数组,那么所有项目都以零开头,因此您宁愿想要一个int?数组,以便所有项目都以null开头。

如果为空,表示零项,则不应使用数组,则应使用List<T>。他们从零开始,然后添加项目以填充它。

答案 2 :(得分:-1)

尝试使用ArrayList

ArrayList mainArrayList = new ArrayList();

//creating a three dimensional arraylist
mainArrayList.Add(new ArrayList());
mainArrayList.Add(new ArrayList());
mainArrayList.Add(new ArrayList());

(mainArrayList[0] as ArrayList).Capacity = userSpecifiedSizeX;
(mainArrayList[1] as ArrayList).Capacity = userSpecifiedSizeY;
(mainArrayList[2] as ArrayList).Capacity = userSpecifiedSizeZ;