简单文件I/O - 读取新行

Ale*_*lex 1 c# file-io

我有一个文件存储一类学生的考试成绩.我正在尝试编写一个程序,该程序可以成功打开文件,读取考试分数,找到平均分数,最高分数和最低分数,并打印出来.平均分数应在小数点后打印2位数.

这是我到目前为止:

static void Main()
{
    string myData = "";
    int temp = 0;
    int max = 0;
    int min = 0;
    double average = 0;
    StreamReader fileReader = new StreamReader("data.txt");

    do
    {
        myData = fileReader.ReadLine();

        if (myData != null)
        {
            max = int.Parse(myData);
            temp = int.Parse(myData);

            if (temp > max)
                temp = max;
        }

    } while (myData != null);

    fileReader.Close();
    Console.ReadLine();
}//End Main()
Run Code Online (Sandbox Code Playgroud)

我不知道如何继续.如何读取新行并将其分配给temp?我不认为我做得对.

Oma*_*mar 7

这是让你老师伤心的一种方式:P

static void Main(string[] args)
{
    var file = new StreamReader("scores.txt");
    var split = file.ReadToEnd().Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);            

    IEnumerable<int> ints = split.Select(x => int.Parse(x));

    Console.WriteLine("Total Scores:" + ints.Count());
    Console.WriteLine("Max:" + ints.Max());
    Console.WriteLine("Min:" + ints.Min());
    Console.WriteLine("Average:" + ints.Average().ToString("0.00"));
    Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

虽然这在技术上是正确的,但这对于理解算法(无论它们可能是什么)都是适得其反的,我建议你看看其他答案.但这证明了.NET框架的多功能性.

<3 LINQ