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.Linq(したがって、ループFile.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 に答える