using System.Collections.Generic;
public static void Main()
IEnumerable<Person> results;
var people = new List<Person>(){
new Person{ Name="Peter ", Gender = Gender.Male},
new Person{ Name="John ", Gender = Gender.Male},
new Person{ Name="Kevin ", Gender = Gender.Male},
new Person{ Name="Julia ", Gender = Gender.Female},
new Person{ Name="Sonya ", Gender = Gender.Female},
new Person{ Name="Rachel", Gender = Gender.Female},
bool isGenderMaleChecked = true;
results = people.Where(p => p.Gender.Equals(Gender.Male));
results = people.Where(p => !p.Gender.Equals(Gender.Male));
results = people.Where(p => isGenderMaleChecked ? p.Gender.Equals(Gender.Male) : !p.Gender.Equals(Gender.Male));
results = people.Where(p=> !isGenderMaleChecked ^ p.Gender.Equals(Gender.Male));
results = people.Where(p=> isGenderMaleChecked == p.Gender.Equals(Gender.Male));
foreach(var p in results)
Console.WriteLine(string.Format("Name: {0} || Gender: {1}",p.Name, p.Gender));
Console.WriteLine("================================");