PersonalizationStateInfoCollection.GetEnumerator Метод

Определение

Возвращает стандартный перечислитель для итерации коллекции. Этот метод не может быть унаследован.

public:
 virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

Возвращаемое значение

IEnumerator

Объект IEnumerator, который может использоваться для итерации элементов коллекции.

Реализации

Комментарии

Перечислители могут использоваться для чтения данных в коллекции, но не для ее изменения.

Изначально перечислитель располагается перед первым элементом коллекции. Метод Reset также возвращает перечислитель в эту позицию. В этой позиции Current свойство не определено. Таким образом, необходимо вызвать MoveNext метод для продвижения перечислителя к первому элементу коллекции, прежде чем считывать значение Current. Дополнительные сведения о перечислителях см. в разделе IEnumerator.

Перечислитель является допустимым до тех пор, пока коллекция остается неизменной. Если в коллекцию вносятся изменения, например добавляются, изменяются или удаляются элементы, перечислитель становится недействительным без возможности восстановление, а его поведение не определено.

Инструкция foreach языка C# (for each в Visual Basic) позволяет скрыть сложный механизм перечислителей. Поэтому рекомендуется вместо непосредственного использования перечислителя применять ключевое слово foreach.

У перечислителя нет эксклюзивного доступа к коллекции, поэтому перечисление коллекции не является потокобезопасной процедурой. Чтобы гарантировать потокобезопасность, можно заблокировать коллекцию на время всего перечисления. Чтобы разрешить доступ к коллекции из нескольких потоков для чтения и записи, необходимо реализовать собственную синхронизацию.

Применяется к