問題は、四角形の 2 次元配列のループが、その配列のすべての要素を一度に 1 つずつforeach
返すことです。2 次元配列の行と列にアクセスするには、インデックスを使用する必要があります。
各行に移動し、各要素を表示します。次に、各行の後に段落 (改行) を追加します。
以下に例を示します。
for (int row = 0; row < array_questions.GetLength(0); row++)
{
for (int column = 0; column < array_questions.GetLength(1); column++)
{
//writing data, you probably want to add comma after it
Response.Write(array_questions[row,column]);
}
//adding new line, so that next loop will start from new line
Response.Write(Environment.NewLine);
}
5 行 10 列のデフォルトint
値の配列の場合、次のテーブルを受け取りました
0000000000
0000000000
0000000000
0000000000
0000000000
以前に正しくデータを入力していた場合はarray_questions
、ページ上のテーブルビュー データを受け取り、結果としてResponse.Write
呼び出しが発生するはずです。
よりクリーンな解決策は、再利用dt
することです (私はそれがDataTableだと思います)Rows
プロパティですIEnumerable<DataRowCollection>
。次のコードは同様の動作を実現しますが、よりクリーンな方法であり、別の配列は必要ありません。
foreach (var row in dt.Rows)
{
Response.Write(string.Join(", ", row) + Environment.NewLine);
}
次の表のような方法でデータを出力します。
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0