public override bool Equals(object obj) { if (obj == null) { return(false); } DoubleUIntKeyTable <T> rhs = obj as DoubleUIntKeyTable <T>; if (rhs == null) { return(false); } if (GetCount() != rhs.GetCount()) { return(false); } bool isEqual = true; ForEachDoubleKeyValue(delegate(uint key1, uint key2, T value1) { T val = rhs.Get(key1, key2); isEqual = (isEqual && value1.Equals(val)); }); return(isEqual); }