1

我想要做的是从文件 text.txt 中读取数字,并将它们加在一起文件包含

86
97 
144 
26

都在自己的路线上。我被难住了:L

这是我的代码:

namespace CH13EX1
{
    class CH13EX1
    {
        static void Main(string[] args)
        {
            // opens the file
            StreamReader inFile;
            // tests to make sure the file exsits
            if (File.Exists("text.txt"))
            {
                // declrations
                string inValue;
                int total;
                int number;
                // makes infile the file 
                inFile = new StreamReader("text.txt");
                // loop to real the files
                while ((inValue = inFile.ReadLine()) != null)
                {
                    number = int.Parse(inValue);
                    Console.WriteLine("{0}", number);

                }
            }
        }
    }
}
4

1 回答 1

3

对现有代码的最小更改是

int total = 0;
using(inFile = new StreamReader("text.txt"))
{
    while ((inValue = inFile.ReadLine()) != null)
    {   
        if(Int32.TryParse(inValue, out number))
        {
             total += number;
             Console.WriteLine("{0}", number);
        }
        else
            Console.WriteLine("{0} - not a number", inValue);
    }
}
Console.WriteLine("The sum is  {0}", total);

当然,从文件中读取的值应该添加到一个变量中,该变量保存单行上的值的运行总和,但是我添加了一种更安全的方法来检查您的数字是否真的是整数(Parse 将引发如果它无法将字符串转换为整数值则异常)。

我还使用using 语句打开文件并确保以正确的方式关闭和处理 StreamReader

于 2013-05-01T08:17:28.520 回答