Синтаксис LINQ Where()

Нужно взять коллекцию элементов и найти там один по Id. Сделать это по заданию нужно с помощью Where() из LINQ. Кто-нибудь может рассказать мне что это такое и как это сделать?

Вот тебе пример.

Имеем класс - сущность:

 public class Month
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Days { get; set; }
    public Month() { }
    public Month(int id, string name, int days)
    {
        Id = id;
        Name = name;
        Days = Days;
    }
}</pre>

Делаем метод поиска определённого месяца в коллекции:

public static Month FindById(List list, int id)
        {
            try
            {
                return list.Where(x => x.Id == id).First();
            }
            catch (Exception)
            {
                Console.WriteLine("No such element!");
                return null;
            }
        }

В данном случае интуитивно понятно, что мы возвращаем первый элемент в списке, где значение поля Id элемента в списке равно значению переменной id.

Проверка работоспособности в мейне:

        public static void Main()
        {
            List list = new List
            {
                new Month(1,"January", 31),
                new Month(2,"February", 28),
                new Month(3,"March", 31),
                new Month(4,"April", 30),
                new Month(5,"May", 31),
                new Month(6,"June", 30),
                new Month(7,"July", 31),
                new Month(8,"August", 31),
                new Month(9,"September", 30),
                new Month(10,"Oktober", 31),
                new Month(11,"November", 30),
                new Month(12,"December", 31)
            };
        Console.WriteLine($"Month with Id = 5: {FindById(list, 5).Name}\n");

        Console.ReadKey();
    }</pre>