0

ここで最初のタイマー。StackOverflow は、配列とリストをある程度理解するのに役立ちましたが、他では解決されていない問題に直面しています。

目標: 既存の多次元配列を取得し、各行を読み取り、正しい識別子で始まる場合は、その行をリストに取り込みます。各リストは、リストのリストの一部になります。

問題: newGrid[0].Add(CSVReader.grid[x,y]); を使用すると その下では問題なく動作します。しかし、[0] の代わりに [y] を使用すると、例外が発生します。例外が発生した時点で y = 0 ではありませんか? for ループの y を使用して、配列から取得した各行を新しいリストにしたいと思います。

    public void processCSV () {

    List<List<string>> newGrid = new List<List<string>>();

    for (int y = 0; y < CSVReader.grid.GetUpperBound(1); y++) {
        if (CSVReader.grid[0,y] == "T1") {
            newGrid.Add(new List<string>());
            for (int x = 0; x < CSVReader.grid.GetUpperBound(0); x++) {
                newGrid[y].Add(CSVReader.grid[x,y]);    
            }
            foreach(string item in newGrid[y]) {    
                print(item);
            }

        }
    }
}
4

1 に答える 1

2

ソース配列から一部の行のみをコピーするため、newGridの行番号は の行番号と一致しません。CSVReader.grid

再利用する代わりに、呼び出すたびyに行をカウントする別の変数を使用するか、単に要素を最後の行に追加します。newGridnewGrid.Add

于 2013-02-13T06:24:52.130 に答える