从文件读取数字时,我的代码无法正确地将数字加在一起

我想将文件中的数字加在一起。 数字为31 32 45 65 67 54 43 78 98 33 14 25。 答案应该是585,但是代码给出287。 我在哪里出错以及如何解决?

using System;
using System.IO;

namespace TaaviSimsonTest
{
    class Program
    {
        static void Main(string[] args)
        {
            using (textreader reader = File.OpenText("C:\\temp\\andmed.txt"))
            {
                int sum = 0;
                while (reader.ReadLine() != null)
                {
                    int i = int.Parse(reader.ReadLine());
                    sum += i;
                }
                Console.WriteLine(sum);
            }
        }
    }
}
hbxflihua 回答:从文件读取数字时,我的代码无法正确地将数字加在一起

我想将文件中的数字加在一起。数字为31 32 45 65 67 54 43 78 98 33 1425。答案应为585,但代码为287

主要问题是由于reader.ReadLine() != null的检查。再一次,您正在阅读下一行int.Parse(reader.ReadLine());

发生的事情是您正在读取第一行,然后再次读取并获得该值,因此您将跳过其他所有条目。而是只读取一次,然后对该分配执行一些操作。

using (TextReader reader = File.OpenText("C:\\temp\\andmed.txt"))
{
   int sum = 0;
   string line = string.Empty;
   while ((line = reader.ReadLine()) != null)
   {
      int i = int.Parse(line);
      sum += i;
   }
   Console.WriteLine(sum);
}

还有其他方法可以完成此操作,但这不是本文关注的问题。

本文链接:https://www.f2er.com/1468159.html

大家都在问