Mega Code Archive

 
Categories / C# / LINQ
 

ToLookup Demo

using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class Employee {     public string birthYear;     public string firstName;     public string lastName;     public static Employee[] GetActors() {         Employee[] actors = new Employee[] {       new Employee { birthYear = "1964", firstName = "K", lastName = "R" },       new Employee { birthYear = "1968", firstName = "O", lastName = "W" },       new Employee { birthYear = "1960", firstName = "J", lastName = "S" },       new Employee { birthYear = "1964", firstName = "S",lastName = "B" },     };         return (actors);     } } public class MyStringifiedNumberComparer : IEqualityComparer<string> {     public bool Equals(string x, string y) {         return (Int32.Parse(x) == Int32.Parse(y));     }     public int GetHashCode(string obj) {         return Int32.Parse(obj).ToString().GetHashCode();     } } public class MainClass {     public static void Main() {         ILookup<string, Employee> lookup = Employee.GetActors()           .ToLookup(k => k.birthYear, new MyStringifiedNumberComparer());         IEnumerable<Employee> actors = lookup["1968"];         foreach (var actor in actors)             Console.WriteLine("{0} {1}", actor.firstName, actor.lastName);     } }