BitArray.GetEnumerator Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
aracılığıyla BitArrayyineleyen bir numaralandırıcı döndürür.
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
Döndürülenler
Tüm IEnumeratoriçin birBitArray.
Uygulamalar
Açıklamalar
C# dilinin foreach deyimi (Visual Basic'da for each), 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 koleksiyondaki verileri okumak için kullanılabilir, ancak temel koleksiyonu değiştirmek için kullanılamaz.
Başlangıçta, numaralandırıcı koleksiyondaki ilk öğeden önce konumlandırılır. Reset ayrıca numaralandırıcıyı bu konuma geri getirir. Bu konumda tanımlanmamıştır Current . Bu nedenle, değerini MoveNextokumadan önce numaralandırıcıyı koleksiyonun ilk öğesine ilerletmek için çağrısında Current bulunmalısınız.
Currentveya MoveNext çağrılana kadar Reset 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 MoveNextfalse son çağrı Current tanımlanmamışsa. Koleksiyonun ilk öğesine yeniden ayarlamak Current için öğesini ve ardından Resetöğesini çağırabilirsinizMoveNext.
Bir numaralandırıcı, koleksiyon değişmediği sürece geçerli kalır. Koleksiyonda öğe ekleme, değiştirme veya silme gibi değişiklikler yapılırsa, numaralandırıcı geri alınamaz şekilde geçersiz kılınmış olur ve davranışı tanımlanmamış olur.
Numaralandırıcının koleksiyona özel erişimi yoktur; Bu nedenle, bir koleksiyon aracılığıyla numaralandırma, iş parçacığı açısından güvenli bir yordam değildir. Numaralandırma sırasında iş parçacığı güvenliğini garanti etmek için, tüm numaralandırma sırasında koleksiyonu kilitleyebilirsiniz. Koleksiyona okuma ve yazma için birden çok iş parçacığı tarafından erişilmesine izin vermek için kendi eşitlemenizi uygulamanız gerekir.
Bu yöntem bir O(1) işlemdir.