ArrangedElementCollection.GetEnumerator ArrangedElementCollection.GetEnumerator ArrangedElementCollection.GetEnumerator ArrangedElementCollection.GetEnumerator Method

Определение

Возвращает перечислитель для всей коллекции.Returns an enumerator for the entire collection.

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

Возвраты

Перечислитель IEnumerator для всей коллекции.An IEnumerator for the entire collection.

Реализации

Комментарии

Обычно перечислитель не имеет монопольного доступа к коллекции; Таким образом, перечисление по коллекции не является потокобезопасной процедурой.Typically the enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. Даже если коллекция синхронизирована, другие потоки по-прежнему могут изменить коллекцию, что приводит к созданию исключения перечислителем.Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. Чтобы обеспечить потокобезопасность при перечислении, можно использовать одну из следующих стратегий.To guarantee thread safety during enumeration, you can follow one of the following strategies:

  • Блокировка коллекции во всем перечислении с помощью Monitor.Lock the collection during the entire enumeration using a Monitor.

  • Перехватите и обработайте исключения, являющиеся результатом изменений, внесенных другими потоками.Catch and handle the exceptions that result from changes made by other threads.

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

Дополнительно