Звучит так, будто вам не нужен прямоугольный массив , как у вас сейчас, но вместо этого массив массивов , например
string[][] answers = new string[50][];
Затем вы можете заполнить каждый массив массивом правильного размера.
Однако другой альтернативой было бы избегать использования массивов целиком - используйте List<T>
, который будет расти по мере необходимости.В частности, вы можете захотеть иметь List<Question>
, где Question
содержит сам текст вопроса и List<Answer>
(или, возможно, просто List<string>
) для ответов.
Тот факт, что массивынеобходимость в предварительном расчете - одна из причин, по которой их следует считать «несколько вредными» .
Если вы действительно хотите придерживаться своего первоначального подхода, то, очевидно,вы знаете, что у вас есть 10 элементов в каждой «строке» массива - вам нужно выполнить цикл, чтобы найти первое null
значение (если есть), чтобы указать, сколько ответов было заполнено на самом деле .