while循环用数组填充datagridview

时间:2015-02-27 13:56:31

标签: c# .net arrays loops while-loop

我有一组数据,一旦到达文本文件中的某个点,我就需要填充数据网格视图。

一旦(StreamReader reader = new StreamReader(fileOpen))到达文件中的[HRData],我想将每列存储到一个数组中,以便存储到datagridview并循环到文件的末尾

[HRData]
91  154 70  309 83  6451
91  154 70  309 83  6451
92  160 75  309 87  5687
94  173 80  309 87  5687
96  187 87  309 95  4662
100 190 93  309 123 4407
101 192 97  309 141 4915
103 191 98  309 145 5429
106 190 99  309 157 4662
106 187 98  309 166 4399
107 186 97  309 171 4143
107 185 97  309 170 4914
108 184 96  309 171 5426
108 183 95  309 170 5688

1 个答案:

答案 0 :(得分:1)

您可以使用LINQ生成数组的列表(每个元素是一行)(每个元素都是该行中的数字)

List<string[]> result = File.ReadAllLines("filePath") //read all lines in the file
    .SkipWhile(x => x != "[HRData]") //skip lines until reaching the "[HRData]"
    .Select(x => x.Split(null, StringSplitOptions.RemoveEmptyEntries)) //split line by whitespace to get numbers in line
    .ToList(); // convert the result to a list

然后您可以使用result.ForEach(x => dataGridView1.Rows.Add(x))