запрос linq-среднее значение

Нахожу среднее значение температуры, но не могу узнать месяц когда была такая температура. Все данные у меня есть, они считываются из текстового файла. Нужно узнать что это был за месяц с помощью запроса linq. Как это сделать?

static void midlle(List<WeatherInfo> lweatherInfo)
{
    string variant;
    do
    {
        Console.Clear();
        Console.WriteLine("+-----------------------+");
        Console.WriteLine("|Введите месяц или 'всё'|");
        Console.WriteLine("+-----------------------+");
        //Console.Clear();
        variant = Console.ReadLine();
        if (variant == "exit")
        {
            break;
        }
        if (variant == "все месяцы" || variant == "среднее" || variant == "всё")
        {
            var midValue = lweatherInfo.Average(w => w.temperature);//.ElementAt(0);
            var midTemperature = midValue.temperature;
            var midMonth = midValue.month;
            var midDay = midValue.day;
            Console.WriteLine("+-------+-----------+------------+");
            Console.WriteLine("|День   |Месяц      |Среднее     |");
            Console.WriteLine("+-------+-----------+------------+");
            Console.WriteLine($"|{midDay,7}|{midMonth,11}|{midTemperature,12}|");
            Console.WriteLine("+-------+-----------+------------+");
        }
        else
        {
            var midValue = lweatherInfo.Where(w => w.month == variant).Average(w => w.temperature);
            var midTemperature = midValue.temperature;
            var midMonth = midValue.month;
            var midDay = midValue.day;
            Console.WriteLine("+-------+-----------+------------+");
            Console.WriteLine("|День   |Месяц      |Максимум    |");
            Console.WriteLine("+-------+-----------+------------+");
            Console.WriteLine($"|{midDay,7}|{variant,11}|{midTemperature,12}|");
            Console.WriteLine("+-------+-----------+------------+");
        }
        Console.ReadKey();
    } while (variant != "еffcxxa3211");
}

static void Main(string[] args)
{
    List<WeatherInfo> lweatherInfo = new List<WeatherInfo>();
    string[] lines = File.ReadAllLines("weather.txt", Encoding.Default);//.GetEncoding(1251));
    int variant;
    for (int i = 0; i < lines.Length; i++)
    {
        var line = lines[i].Split(' ');
        WeatherInfo weatherInfo = new WeatherInfo()
        {
            day = Convert.ToInt32(line[0]),
            month = line[1],
            temperature = Convert.ToInt32(line[2]),
            description = line[3]
        };

        lweatherInfo.Add(weatherInfo);
    }
    midlle(lweatherInfo);
}

Ответы (0 шт):