-3

このようなテキストファイルがあります

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100

10x10グリッドで。c#を使用して、テキストファイルを取得し、それを整数の2次元配列に変換して、独立したレベルで整数を操作できるようにする必要があります。それを解決するのを手伝ってください、

4

3 に答える 3

9
String input = File.ReadAllText( @"c:\myfile.txt" );

int i = 0, j = 0;
int[,] result = new int[10, 10];
foreach (var row in input.Split('\n'))
{
    j = 0;
    foreach (var col in row.Trim().Split(' '))
    {
        result[i, j] = int.Parse(col.Trim());
        j++;
    }
    i++;
}

インデックスは0ベースになるため、 4行目の10列目にアクセスする場合は次のようになります。

Console.WriteLine(result[3,9]); //40
于 2012-12-05T14:11:44.817 に答える
6

ギザギザの配列?

int[][] list = File.ReadAllLines("a.txt")
                   .Select(l => l.Split(' ').Select(i => int.Parse(i)).ToArray())
                   .ToArray();

編集

ここでJaggedToMultidimensional を使用できます

int[,] list2 = JaggedToMultidimensional(list);
于 2012-12-05T13:58:08.373 に答える
2

多分:

var result = File.ReadLines(path)
    .SelectMany((l, i) => l.Split()
                           .Select(s => new int[] { i, int.Parse(s) })
                           .ToArray())
    .ToArray();

編集:これはギザギザの配列ですがint[][]

于 2012-12-05T13:57:34.673 に答える