如何在列表框中查找最低值、最高值和平均值
How to find the lowest, highest and average values in a listbox
我正在尝试创建一个程序来计算和显示列表框中项目的最高值、最低值和平均值(从 txt 文件生成的项目)。我终于想出了如何将文本文件加载到列表框。我一直在寻找线索大约一个小时,我所有的尝试都把我带到了死胡同。
我的列表框称为 readListbox,我的最高、最低和平均标签分别称为 highestLabel、lowestLabel 和 averageLabel。我该如何着手创建这个程序。数字采用十进制格式。非常感谢任何帮助。
private void readButton_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog Open = new OpenFileDialog();
if(Open.ShowDialog() == DialogResult.OK)
{
readListbox.Text = Open.FileName;
string[] lines = System.IO.File.ReadAllLines(Open.FileName);
readListbox.Items.AddRange(lines);
}
}
catch
{
MessageBox.Show("Error");
}
}
}
}
读取文件的字符串元素后,您需要将它们转换为十进制值。那时你可以使用 IEnumerable 扩展的内置方法来获取你的数据
OpenFileDialog Open = new OpenFileDialog();
if(Open.ShowDialog() == DialogResult.OK)
{
readListbox.Text = Open.FileName;
string[] lines = System.IO.File.ReadAllLines(Open.FileName);
decimal[] values = lines.Select(x => decimal.Parse(x)).ToArray();
labelHigh.Text = values.Max().ToString();
labelMin.Text = values.Min().ToString();
labelAvg.Text = values.Average().ToString();
readListbox.Items.AddRange(lines);
}
我正在尝试创建一个程序来计算和显示列表框中项目的最高值、最低值和平均值(从 txt 文件生成的项目)。我终于想出了如何将文本文件加载到列表框。我一直在寻找线索大约一个小时,我所有的尝试都把我带到了死胡同。
我的列表框称为 readListbox,我的最高、最低和平均标签分别称为 highestLabel、lowestLabel 和 averageLabel。我该如何着手创建这个程序。数字采用十进制格式。非常感谢任何帮助。
private void readButton_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog Open = new OpenFileDialog();
if(Open.ShowDialog() == DialogResult.OK)
{
readListbox.Text = Open.FileName;
string[] lines = System.IO.File.ReadAllLines(Open.FileName);
readListbox.Items.AddRange(lines);
}
}
catch
{
MessageBox.Show("Error");
}
}
}
}
读取文件的字符串元素后,您需要将它们转换为十进制值。那时你可以使用 IEnumerable 扩展的内置方法来获取你的数据
OpenFileDialog Open = new OpenFileDialog();
if(Open.ShowDialog() == DialogResult.OK)
{
readListbox.Text = Open.FileName;
string[] lines = System.IO.File.ReadAllLines(Open.FileName);
decimal[] values = lines.Select(x => decimal.Parse(x)).ToArray();
labelHigh.Text = values.Max().ToString();
labelMin.Text = values.Min().ToString();
labelAvg.Text = values.Average().ToString();
readListbox.Items.AddRange(lines);
}