using System; using Ilog.Language.Util; public class MapTest { public static void Main () { Map m1 = new Map(); Map m2 = new Map(); Map m3 = new Map(); m1["a"] = 1; m1["b"] = 2; m1["c"] = 3; m2["a"] = 1; m2["d"] = 3; m2["f"] = 9; m3["a"] = 1; m3["b"] = 2; m3["c"] = 3; Console.WriteLine("m1 = {0}, with has code = {1}",m1,m1.GetHashCode()); Console.WriteLine("m2 = {0}, with has code = {1}",m2,m2.GetHashCode()); Console.WriteLine("m3 = {0}, with has code = {1}",m3,m3.GetHashCode()); Console.WriteLine("m1 == m2 ? {0}",m1.Equals(m2)); Console.WriteLine("m1 == m3 ? {0}",m1.Equals(m3)); try { m1["d"] = 6; } catch (LockedMapException e) { Console.Error.WriteLine("*** LockedMapException: {0}",e.Message); } Map m = new Map(); m[m1] = "M1"; m[m2] = "M2"; m[m3] = "M3"; Console.WriteLine("m = {0}",m); Console.WriteLine("{0} -> {1}",m1,m[m1]); m.Clear(); m["M1"] = m1; m["M2"] = m2; m["M3"] = m3; Console.WriteLine("m = {0}",m); Console.WriteLine("{0} -> {1}","M1",m["M1"]); } }