using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class Employee2 { public string id; public string firstName; public string lastName; public static ArrayList GetEmployeesArrayList() { ArrayList al = new ArrayList(); al.Add(new Employee2 { id = "1", firstName = "J", lastName = "R" }); al.Add(new Employee2 { id = "2", firstName = "W", lastName = "G" }); al.Add(new Employee2 { id = "3", firstName = "A",lastName = "H"}); al.Add(new Employee2 { id = "4", firstName = "D", lastName = "L" }); al.Add(new Employee2 { id = "101", firstName = "K", lastName = "F" }); return (al); } public static Employee2[] GetEmployeesArray() { return ((Employee2[])GetEmployeesArrayList().ToArray(typeof(Employee2))); } } 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() { Dictionary<string, Employee2> eDictionary = Employee2.GetEmployeesArray().ToDictionary(k => k.id, new MyStringifiedNumberComparer()); Employee2 e = eDictionary["2"]; Console.WriteLine("Employee whose id == "2" : {0} {1}", e.firstName, e.lastName); e = eDictionary["000002"]; Console.WriteLine("Employee whose id == "000002" : {0} {1}",e.firstName, e.lastName); } }