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);
}
}
|