c#beginner使用流阅读器读取txt文件

时间:2015-11-29 22:08:23

标签: streamreader

我在阅读文本文件时遇到问题,该文件包含9组由逗号分隔的三个整数值。这是我到目前为止所做的,但是我如何能够读取第一行的数据以获得最大值? 非常坚持数据文本文件的程序

  • 21,7,11
  • 20,10,12
  • 17,7,18

这些代表温度,高度和碳% 我已经在文件中读到了

 {
        string s;
        System.IO.StreamReader inputFile = new System.IO.StreamReader(DataFile);
        s = inputFile.ReadLine();
        int noDataLines = int.Parse(s);

        double[,] data = new double[noDataLines, 3];
        string[] ss;

   is this right if the data is stored in the debug folder as a .txt file?

从这里我将如何获得最大温度(即只读取第一列垂直数据)?

1 个答案:

答案 0 :(得分:0)

我们可以简单地使用System.IO File.ReadLines()方法和LINQ .ToList()的混合来读取List<string>的所有文本行。在这一点上,我们可以遍历从文本行解析双值的集合:

        List<string> lines = File.ReadLines("filepath").ToList();

        List<int[]> values = new List<int[]>();
        int[] temp = new int[3];

        for (int i = 0; i < lines.Count; i++)
        {
            string[] strValues = lines[i].Split(',');

            for (int i2 = 0; i2 < strValues.Length; i2++)
                temp[i2] = Convert.ToInt32(strValues[i2]);

            values.Add(temp.ToArray());
        }

或者我们可以使用LINQ:

        List<string> lines = File.ReadLines("filepath").ToList();

        List<int[]> values = new List<int[]>();
        int[] temp = new int[3];

        for (int i = 0; i < lines.Count; i++)
            values.Add(lines[i].Split(',')
                .Select(l => Convert.ToInt32(l)).ToArray());