C# and LINQ – Filter elements from object collection with Logical Operators

Here’s a sample code snippet demonstrating how to filter elements from a list of objects using the where clause using LINQ in C#. This sample gets all the employees who salary is greater than 20000 GBP and age is greater than 22.

How to Filter Employees List whose salary is greater than 20000 GBP and age is greater than 22 using LINQ in C# ?

using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;

namespace AbundantcodeCsharpSample
{
    class Program
    {
        static void Main(string[] args)
        {
            List<Employee> employees = new List<Employee>();
            employees.Add(new Employee { Name = "Michael", Age = 55, Salary = 80000 });
            employees.Add(new Employee { Name = "Steve", Age = 21, Salary = 19000 });
            employees.Add(new Employee { Name = "John", Age = 55, Salary = 23000 });
            // LINQ query demonstrating the usage of Logical operators in the Where clause.
            var output = from m in employees
                         where m.Salary > 20000 && m.Age > 22
                         select m;
            Debug.WriteLine("Employees whose salary is greater than 20000 pounds and age > 22");
            foreach (var item in output)
                Debug.WriteLine(item.Name);
        }
    }
    class Employee
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public decimal Salary { get; set; }
    }
}

Output

Employees whose salary is greater than 20000 pounds and age > 22

Michael

John