我需要创建一个二维数组,其中列的大小固定为6,但行的大小可能会有所不同。如何在2D数组中给出动态行大小? 下面是我尝试的代码,但没有运气。
int n;
string num = console.ReadLine();
Int32.TryParse(num,out n);
int[,] ar = new int[n,6] ;
答案 0 :(得分:0)
我会像这样使用字典。
Dictionary<int,List<int>> numbers = new Dictionary<int,List<int>>();
你可以添加这样的项目:
numbers.Add(1,new List<int>(){1,2,3,4,5,6});
并为特定行添加数字。
numbers[1].Add(7);
访问特定行和列中的数字。
numbers[1][2] = 34;
答案 1 :(得分:0)
你构建多元数组的方式没有错。以下代码有效,因此我怀疑您的错误位于其他地方:
int n = 9;
int[,] ar = new int[n,6];
我猜你的输入没有正确通过,所以添加一些错误检查以找出问题所在。首先,Console.ReadLine()
必须大写或不会编译。接下来,确保TryParse
实际上正常运行(它返回bool
表示成功或失败:
int n;
string num = Console.ReadLine();
if (num == null) {
// ERROR, No lines available to read.
}
if (!Int32.TryParse(num,out n)) {
// ERROR, Could not parse num.
}
int[,] ar = new int[n,6];
如果问题仍然存在,人们通常会比“我尝试但没有运气”更倾向于使用更具描述性的解释。确保通知人们查看您的问题,这是一个编译错误或运行时错误,并尽可能具体。