MatchCollection.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.
Koleksiyonda yineleyen bir numaralandırıcı sağlar.
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
içindeki MatchCollectiontüm Match nesneleri içeren bir nesne.
Uygulamalar
Özel durumlar
Zaman aşımı oluştu.
Açıklamalar
Koleksiyondaki GetEnumerator nesneler arasında Match yineleme yapmanıza olanak tanıyan bir numaralandırıcı almak için yöntemini çağırmak yerine grup yineleme yapısını (C# ve For Each
... gibiforeach
) kullanmanız gerekir.Next
Visual Basic) ile sağlanır.
yöntemini (veya foreach
C# deyimini ve For Each
Visual Basic içindeki ...Next
deyimini) kullanarak GetEnumerator nesnenin MatchCollection üyelerini yinelemek, normal ifade altyapısının gecikmeli değerlendirmeyi kullanarak koleksiyonu gerektiği gibi doldurmasına neden olur. Bu, yöntemini tekrar tekrar çağırmaya Regex.Match ve ardından sonuçta elde edilen eşleşmeyi nesneye eklemeye MatchCollection benzer. Buna karşılık, normal ifade altyapısı, özelliğine erişildiğinde Count koleksiyonu aynı anda doldurmak için doğrudan değerlendirme kullanır. Bu, koleksiyonu oluşturmanın gecikmeli değerlendirmeden çok daha pahalı bir yöntemi olabilir.
MatchCollection Nesne genellikle gecikmeli değerlendirme kullanılarak dolduruldığından, koleksiyonun bir sonraki üyesine gitmeye çalışmak bir RegexMatchTimeoutException özel durum oluşturabilir. Eşleşen işlemler için bir zaman aşımı değeri etkinse ve sonraki eşleşmeyi bulma girişimi bu zaman aşımı aralığını aşarsa bu özel durum oluşturulabilir.