如何在C#中读取三个文本文件并分为三行锯齿状数组?

时间:2017-04-29 17:44:47

标签: c# .net winforms jagged-arrays

我的C#项目是Windows表单。

我有三个文本文件,其中包含我的bin / debug文件夹中单独的类部分的考试成绩。

这是我真正需要帮助的部分:我需要将文件存储在按行显示的三行锯齿状数组中。

最后,使用锯齿状数组,我需要在文本框中显示每个计算:

每个部分的平均分数

所有部分的平均分

所有部分的最高分

所有部分的最低分。

Section1.txt:

 87
 93
 72
 98
 65
 70
 89
 78
 77
 66
 92
 72

Section2.txt:

 71
 98
 93
 79
 84
 90
 88
 91

Section3.txt:

 88
 81
 56
 72
 69
 74
 80
 66
 71
 73

2 个答案:

答案 0 :(得分:0)

首先,您有三个文本文件存储在bid / debug文件夹中。

  

Section1.txt,Section2.txt,Section3.txt

你可以获得这个文本文件path.right吗? 因此,您可以将此文本文件路径存储到字符串数组。

第二:您可以通过循环此字符串数组从每个文本文件中获取数据。以下是如何从文本文件中读取数据=> http://stackoverflow.com/questions/8037070/whats-the-fastest-way-to-read-a-text-file-line-by-line

你可以通过用" Space"分割字符串数据来获得第1节字符串数组。或" \ n"。

答案 1 :(得分:0)

让我们将一个文件读入数组;在 Linq

的帮助下,这很容易
using System.IO;
using System.Linq;

...

string path = @"C:\MyFile1.txt";

int[] result = File
  .ReadLines(path)
  .Select(line => int.Parse(line))
  .ToArray(); 

现在,我们没有一个文件,只有集合

string[] filePaths = new string[] {
  @"C:\MyFile1.txt",
  @"C:\MyFile2.txt",
  @"C:\MyFile3.txt",
};

int[][] result = filePaths
  .Select(path => File //The inner code looks familiar, right?
    .ReadLines(path)
    .Select(line => int.Parse(line))
    .ToArray()) 
  .ToArray();