Ejemplo n.º 1
0
        public IEnumerable <ZoneId> GetAllZoneIds()
        {
            HashSet <ZoneId> set = new HashSet <ZoneId>();

            uint[,] zoneIds = ZoneIds;
            int upperBound1 = zoneIds.GetUpperBound(0);
            int upperBound2 = zoneIds.GetUpperBound(1);

            for (int lowerBound1 = zoneIds.GetLowerBound(0); lowerBound1 <= upperBound1; ++lowerBound1)
            {
                for (int lowerBound2 = zoneIds.GetLowerBound(1); lowerBound2 <= upperBound2; ++lowerBound2)
                {
                    ZoneId id = (ZoneId)zoneIds[lowerBound1, lowerBound2];
                    if (id != ZoneId.None && !set.Contains(id))
                    {
                        set.Add(id);
                        yield return(id);
                    }
                }
            }
        }