列出Array / List <string>的元素

时间:2016-02-29 23:54:04

标签: c# arrays linq arraylist

我发现了一些有用的帖子,但需要澄清。我有一个矩阵,里面有一个数字列表,用每个数字之间的空格分隔。

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

我已使用以下代码将该数据读入我的程序:

string[] listData = File.ReadAllLines("\\Folder1\\GridDat.txt");
            List<string[]> partialData = new List<string[]>();

            // Read all lines and put them into this array
            foreach (string s in listData)
            {
                partialData.Add(s.Split(' '));
            }

            fileOut.WriteLine("{0}", partialData);

我相信我已将其读入数组或字符串列表,但不确定如何从此处访问数据,因此我可以将其打印到文件中。

1 个答案:

答案 0 :(得分:1)

我不确定您希望如何在输出文件中格式化它,但这会在每行打印一个数字:

var lines = System.IO.File.ReadAllLines("C:\\temp\\numbers.txt");

var lineArray = lines.SelectMany(x=>x.Split(' '));

System.IO.File.WriteAllLines("C:\\temp\\txt.txt", lineArray);

SelectMany

这将允许您提取数据,操纵数字,然后将其放回原始格式:

var lines = System.IO.File.ReadAllLines("C:\\temp\\numbers.txt");

var lineArray = lines.Select(x =>
{
    var numbers = x.Split(' ');
    //do stuff with individual numbers here.
    return string.Join(" ", numbers);
}
);

System.IO.File.WriteAllLines("C:\\temp\\txt.txt", lineArray);

Select