NameObjectCollectionBase.GetEnumerator Yöntem

Tanım

aracılığıyla NameObjectCollectionBaseyineleyen bir numaralandırıcı döndürür.

public:
 virtual System::Collections::IEnumerator ^ 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 Overridable Function GetEnumerator () As IEnumerator
Public Function GetEnumerator () As IEnumerator

Döndürülenler

Örnek için NameObjectCollectionBase birIEnumerator.

Uygulamalar

Açıklamalar

Bu numaralandırıcı, koleksiyonun anahtarlarını dize olarak döndürür.

foreach C# dilinin deyimi (for eachVisual Basic'te) numaralandırıcıların karmaşıklığını gizler. Bu nedenle, numaralandırıcıyı doğrudan işlemek yerine kullanılması foreach önerilir.

Numaralandırıcılar, koleksiyonundaki verileri okumak için kullanılabilir, ancak temel koleksiyonu değiştirmek için kullanılamaz.

Başlangıçta, numaralandırıcı, koleksiyondaki ilk öğenin önüne yerleştirilir. Reset ayrıca numaralandırıcıyı bu konuma geri getirir. Bu konumda tanımlanmamıştır Current . Bu nedenle, değerini Currentokumadan önce numaralandırıcıyı koleksiyonun ilk öğesine ilerletmek için çağrısında MoveNext bulunmalısınız.

Currentveya Reset çağrılana kadar MoveNext aynı nesneyi döndürür. MoveNext bir sonraki öğeye ayarlar Current .

Koleksiyonun sonunu geçerse MoveNext , numaralandırıcı koleksiyondaki son öğeden sonra konumlandırılır ve MoveNext döndürür false. Numaralandırıcı bu konumda olduğunda, sonraki çağrıları MoveNext da döndürür false. döndürülen falseCurrent son çağrı MoveNext tanımlanmamışsa. Koleksiyonun ilk öğesine yeniden ayarlamak Current için öğesini ve ardından MoveNextöğesini çağırabilirsinizReset.

Bir numaralandırıcı, koleksiyon değişmeden kaldığı sürece geçerli kalır. Ekleme, değiştirme veya öğeleri silme gibi, koleksiyona bir değişiklik yapılırsa, numaralandırıcı geri çevrilemez biçimde geçersiz kılınır ve davranışı tanımlanmamış olur.

Numaralandırıcının koleksiyona özel erişimi yoktur; bu nedenle, bir koleksiyonda numaralandırmak, iş parçacığı güvenli bir yordam değildir. Numaralandırma sırasında iş parçacığı güvenliği sağlamak için tüm numaralandırma sırasında koleksiyonu kilitleyebilirsiniz. Okuma ve yazma için birden çok iş parçacığı tarafından erişilecek koleksiyona izin vermek için kendi eşitlemenizi uygulamalısınız.

Bu yöntem bir O(1) işlemidir.

Şunlara uygulanır