Exemple #1
0
        private void merge(ref List <Group> groups, GroupSearch search)
        {
            if (groups.Count == 0)
            {
                return;
            }

            Dictionary <uint, uint> duplicates = new Dictionary <uint, uint>(groups.Count);

            for (int i = groups.Count - 1; i >= 0; i--)
            {
                if (false == duplicates.TryGetValue(groups[i].GID, out uint throwAway))
                {
                    duplicates.Add(groups[i].GID, groups[i].GID);
                }
                else
                {
                    groups.RemoveAt(i);
                    continue;
                }

                if (false == search.CheckSearch(groups[i]))
                {
                    groups.RemoveAt(i);
                }
            }
        }