0

我正在尝试汇总文件中的数字。我很新,不明白如何做到这一点。这就是我到目前为止所拥有的。这要我进一步解释,但我不确定还有什么要放下的。我所知道的是我有一个文件,我把它放到一个数组中。文件中的数字需要在文本框中相加。已解决.....我添加了一个 for 循环并解决了问题。

这是代码。

    private void totalButton_Click(object sender, EventArgs e)
    {
        try
        {
            const int SIZE = 7;
            double[] numbers = new double [SIZE];
            double total = 0;
            int index = 0;

            StreamReader inputFile;

            inputFile = File.OpenText("Sales.txt");


                while (index < numbers.Length && !inputFile.EndOfStream)
                {
                    numbers[index] = double.Parse(inputFile.ReadLine());
                    index++;
                }
                for (index = 0; index < numbers.Length; index++)
                {
                    total += numbers[index];
                    totalTextBox.Text = total.ToString();
                }
            inputFile.Close();

            foreach (double value in numbers)
            {
                listBox1.Items.Add(value);

            }

    }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
}

    private void exitButton_Click(object sender, EventArgs e)
    {
        this.Close();
    }

}

}

4

2 回答 2

2

使用更简单的方法System.LinqFile.ReadAllLines(String)因此您不必使用while(){}循环):

// read the file in (broken apart by lines) in to an array:
String[] lines = File.ReadAllLines("Sales.txt");

// Try parsing them to Double values:
Double[] numbers = lines.Select(line => {
  Double val = 0;
  Double.TryParse(line, out val);
  return val;
});

// Sum then using .Sum
Double total = lines.Sum();

参考:

于 2012-10-29T18:39:14.893 回答
1

在您的while陈述中,只需添加total += numbers[index];, 然后在最后,myLabel.Text = total.ToString();?

并且index会给你价值的计数。

于 2012-10-29T18:37:45.573 回答