Рубрики

C # | Получите перечислитель, который перебирает Hashtable

Метод Hashtable.GetEnumerator используется для возврата IDictionaryEnumerator, который выполняет итерацию по Hashtable.

Синтаксис:

public virtual System.Collections.IDictionaryEnumerator GetEnumerator ();

Возвращаемое значение: возвращает IDictionaryEnumerator для Hashtable.

Ниже программы иллюстрируют использование метода Hashtable.GetEnumerator:

Пример 1:

// C # код для получения IDictionaryEnumerator
// который перебирает Hashtable

using System;

using System.Collections;

  

class GFG {

  

    // Код драйвера

    public static void Main()

    {

  

        // Создание хеш-таблицы с именем myhash

        Hashtable myhash = new Hashtable();

  

        // Добавление пар ключ / значение в myhash

        myhash.Add("A", "Apple");

        myhash.Add("B", "Banana");

        myhash.Add("C", "Cat");

        myhash.Add("D", "Dog");

        myhash.Add("E", "Elephant");

        myhash.Add("F", "Fish");

  

        // Чтобы получить IDictionaryEnumerator

        // для Hashtable.

        IDictionaryEnumerator myEnumerator = myhash.GetEnumerator();

  

        // Если MoveNext проходит конец

        // коллекция, перечислитель расположен

        // после последнего элемента в коллекции

        // и MoveNext возвращает false.

        while (myEnumerator.MoveNext())

            Console.WriteLine(myEnumerator.Key + " --> "

                              + myEnumerator.Value);

    }

}

Выход:

B --> Banana
C --> Cat
A --> Apple
F --> Fish
D --> Dog
E --> Elephant

Пример 2:

// C # код для получения IDictionaryEnumerator
// который перебирает Hashtable

using System;

using System.Collections;

  

class GFG {

  

    // Код драйвера

    public static void Main()

    {

  

        // Создание хеш-таблицы с именем myhash

        Hashtable myhash = new Hashtable();

  

        // Добавление пар ключ / значение в myhash

        myhash.Add("I", "first");

        myhash.Add("II", "second");

        myhash.Add("III", "third");

        myhash.Add("IV", "fourth");

        myhash.Add("V", "fifth");

  

        // Чтобы получить IDictionaryEnumerator

        // для Hashtable.

        IDictionaryEnumerator myEnumerator = myhash.GetEnumerator();

  

        // Если MoveNext проходит конец

        // коллекция, перечислитель расположен

        // после последнего элемента в коллекции

        // и MoveNext возвращает false.

        while (myEnumerator.MoveNext())

            Console.WriteLine(myEnumerator.Key + " --> "

                              + myEnumerator.Value);

    }

}

Выход:

III --> third
IV --> fourth
V --> fifth
II --> second
I --> first

Замечания:

  • Оператор foreach языка C # скрывает сложность перечислителей. Поэтому рекомендуется использовать foreach вместо непосредственного манипулирования перечислителем.
  • Перечислители могут использоваться для чтения данных в коллекции, но их нельзя использовать для изменения базовой коллекции.
  • Current возвращает один и тот же объект, пока не будет вызван MoveNext или Reset. MoveNext устанавливает Current для следующего элемента.
  • Перечислитель остается действительным до тех пор, пока коллекция остается неизменной. Если в коллекцию вносятся изменения, такие как добавление, изменение или удаление элементов, перечислитель безвозвратно аннулируется и его поведение не определено.
  • Этот метод является операцией O (1).

Ссылка:

Рекомендуемые посты:

C # | Получите перечислитель, который перебирает Hashtable

0.00 (0%) 0 votes