Aracılığıyla paylaş


MatchCollection.GetEnumerator Yöntem

Tanım

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

IEnumerator

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 EachVisual 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.

Şunlara uygulanır