Как найти самые низкие, самые высокие и средние значения в списке

Я пытаюсь создать программу, которая вычисляет и отображает самое высокое, самое низкое и среднее значение элементов в списке (элементы, сгенерированные из текстового файла). Наконец-то я понял, как загрузить текстовый файл в список. Я искал подсказки около часа, и все мои попытки привели меня в тупик.

мой список называется readListbox, а метки "Самое высокое", "Самое низкое" и "Среднее" соответственно называются наивысшие, самые низкие и средние, соответственно. Как мне сделать создание этой программы? Числа в десятичном формате. Любая помощь будет очень ценится.

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");
    }

    }
}
}

1 ответ

Решение

После прочтения строковых элементов вашего файла вам необходимо преобразовать их в десятичные значения. На этом этапе вы можете использовать встроенные методы расширений 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);
 }
Другие вопросы по тегам