Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在多维数组(C#)的特定维度中计数项_C#_Arrays_Count_Multidimensional Array - Fatal编程技术网

在多维数组(C#)的特定维度中计数项

在多维数组(C#)的特定维度中计数项,c#,arrays,count,multidimensional-array,C#,Arrays,Count,Multidimensional Array,我使用多维数组来跟踪答案: public string[,] answersArray = new string[50, 10]; 数组的第一个维度跟踪问题(最多50个问题),而第二个维度跟踪每个问题的答案(最多10个)。 每个问题的答案数量是可变的。 加载一个问题后,我想确定该特定问题的答案数量。然后我可以在for循环中使用这个数量来加载和显示这些答案。 有没有一个简单的方法来获得这个,或者我必须自己写一些东西? 我知道我可以声明另一个数组来跟踪每个问题的答案数量,然后用它来完成,但我只是想

我使用多维数组来跟踪答案:

public string[,] answersArray = new string[50, 10];
数组的第一个维度跟踪问题(最多50个问题),而第二个维度跟踪每个问题的答案(最多10个)。 每个问题的答案数量是可变的。 加载一个问题后,我想确定该特定问题的答案数量。然后我可以在for循环中使用这个数量来加载和显示这些答案。 有没有一个简单的方法来获得这个,或者我必须自己写一些东西?
我知道我可以声明另一个数组来跟踪每个问题的答案数量,然后用它来完成,但我只是想知道是否有一个更简单的解决方案。

听起来你不想要当前的矩形数组,而是一个数组数组,例如

var dim1 = answersArray.GetLength(0); // 50
var dim2 = answersArray.GetLength(1); // 10
然后,您可以使用适当大小的数组填充每个数组

然而,另一种选择是避免完全使用数组-使用
List
,它将根据需要增长。特别是,您可能需要一个
列表
,其中
问题
包含问题文本本身和
列表


如果你真的想坚持原来的方法,那么显然你知道数组的每一行有10个元素——你必须循环找到第一个
null
值(如果有),以指示实际填充了多少个答案。

我在其他地方也找到了这个答案,但正如我所说的,数组第二维度中的答案数量是可变的。问题1可能有4个答案,而问题2可能有6个答案,而问题3可能有10个。参考John skeets的答案:)回想起来,使用列表确实会更好。自从我上次用C#编写代码以来已经有一段时间了,由于我正在编写的应用程序非常小,我开始使用数组。感谢您的洞察力,这非常有帮助!
string[][] answers = new string[50][];