C# 从销售数据文件计算平均值?

C# 从销售数据文件计算平均值?,c#,winforms,C#,Winforms,总销售额 使用名为Sales.txt的附加文件。创建一个应用程序 将文件内容读入双精度或十进制数组 在ListBox控件中显示数组的内容, 计算阵列值、平均销售额、最大销售额和最小销售额的总和 显示总销售额、平均销售额、最高销售额和最低销售额 表单应类似于以下内容: 如何通过键入相应的代码来获得数据,以正确显示图像的总/平均/高/低销售额部分? 我想自己做这件事,所以如果你能提供一个可能与我正在做的事情相关的例子,那将非常有帮助。 以下是我到目前为止能够键入的内容: namespace Tota

总销售额

使用名为Sales.txt的附加文件。创建一个应用程序

将文件内容读入双精度或十进制数组 在ListBox控件中显示数组的内容, 计算阵列值、平均销售额、最大销售额和最小销售额的总和 显示总销售额、平均销售额、最高销售额和最低销售额 表单应类似于以下内容:

如何通过键入相应的代码来获得数据,以正确显示图像的总/平均/高/低销售额部分? 我想自己做这件事,所以如果你能提供一个可能与我正在做的事情相关的例子,那将非常有帮助。 以下是我到目前为止能够键入的内容:

namespace Total_Sales
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void displayButton_Click(object sender, EventArgs e)
        {
            //declaring array
            const int SIZE = 100;
            decimal[] sales = new decimal[SIZE];

            //varible to hold amount stored in array
            int count = 0;

            decimal additionHolder = 0;

            //declaring streamreader
            StreamReader inputFile;

            //opening the sales file
            inputFile = File.OpenText("../../Sales.txt");

            try
            {
                //pull contents from file into array while there is still items
                //to pull and the array isnt full
                while (!inputFile.EndOfStream && count < sales.Length)
                {
                    sales[count] = decimal.Parse(inputFile.ReadLine());
                    count++;
                }
                //close the file
                inputFile.Close();

                //display contents in listbox
                for (int index = 0; index < count; index++)
                {
                    ListBox.Items.Add(sales[index]);
                }


                //add all the values
                for (int index = 0; index < sales.Length; index++)
                {
                    additionHolder += sales[index];
                }


            }


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

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
namespace总销售额
{
公共部分类Form1:Form
{
公共表格1()
{
初始化组件();
}
私有无效显示按钮\u单击(对象发送者,事件参数e)
{
//声明数组
常数int SIZE=100;
十进制[]销售额=新的十进制[大小];
//可变以保存数组中存储的数量
整数计数=0;
十进制加法器=0;
//声明流阅读器
StreamReader输入文件;
//打开销售文件
inputFile=File.OpenText(“../../Sales.txt”);
尝试
{
//当仍有项目时,将内容从文件拉入数组
//拉动时,阵列未满
而(!inputFile.EndOfStream&&count
您可以使用

 var lines = System.IO.File.ReadAllLines("../../Sales.txt");
可以使用Linq将字符串数组投影并解析为小数数组

decimal[] sales = lines.Select(line =>  decimal.Parse(line)).ToArray();
从那里您可以迭代数组并将它们添加到列表框中

要查找小数数组的总/平均/高/低,可以再次使用linq扩展

var total = sales.Sum();

var average = sales.Average();

var high = sales.Max();

var low = sales.Min();
这将为您提供要显示的数据。希望这有帮助。

查看列表->您可以从列表中的文件加载所有内容。然后从列表中填充列表框。对列表进行排序。Sort()。List.Sum(),List.Sum()/List.Count()->avg,已排序的List.First()->lower,List.Last()max元素。询问是否有不清楚的地方。