public static bool Equals()

in src/managed/DiffGen/ArchiveUtility/ItemDefinition.cs [208:248]


        public static bool Equals(ItemDefinition x, ItemDefinition y)
        {
            if (x.Length != y.Length)
            {
                return false;
            }

            if (x.Hashes.Count != y.Hashes.Count)
            {
                return false;
            }

            if ((x.Hashes.Count == 0) && (x.Names.Count != y.Names.Count))
            {
                return false;
            }

            foreach (var entry in x.Hashes)
            {
                var hashType = entry.Key;

                if (!y.Hashes.ContainsKey(hashType))
                {
                    return false;
                }

                var xHash = entry.Value;
                var yHash = y.Hashes[hashType];
                if (!Enumerable.SequenceEqual(xHash.Value, yHash.Value))
                {
                    return false;
                }
            }

            if (x.Hashes.Count == 0)
            {
                return Enumerable.SequenceEqual(x.Names, y.Names);
            }

            return true;
        }