Mega Code Archive

 
Categories / C# / LINQ
 

Call ILookUp returned from ToLookup to get the IEnumerable

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[] GetEmployees() {         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 = "1965", 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, string> lookup = Employee.GetEmployees()           .ToLookup(k => k.birthYear,a => string.Format("{0} {1}", a.firstName, a.lastName),new MyStringifiedNumberComparer());         IEnumerable<string> actors = lookup["1965"];         foreach (var actor in actors)             Console.WriteLine("{0}", actor);     } }