MatchCollection.Item[Int32] Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera pojedynczy element członkowski kolekcji.
public:
virtual property System::Text::RegularExpressions::Match ^ default[int] { System::Text::RegularExpressions::Match ^ get(int i); };
public virtual System.Text.RegularExpressions.Match this[int i] { get; }
member this.Item(int) : System.Text.RegularExpressions.Match
Default Public Overridable ReadOnly Property Item(i As Integer) As Match
Parametry
Wartość właściwości
Przechwycony podciąg na pozycji i
w kolekcji.
Implementuje
Wyjątki
i
wartość jest mniejsza niż 0 lub większa niż lub równa Count.
Wystąpił limit czasu.
Przykłady
Poniższy przykład analizuje pierwsze zdanie Domu Siódemki Nathaniel Hawthorne i zwraca MatchCollection obiekt zawierający wszystkie wyrazy rozpoczynające się wielkimi lub małymi literami "h". Właściwość jest następnie używana do pobierania Item[] każdego wyrazu i wyświetlania go w konsoli.
using System;
using System.Text.RegularExpressions;
public class Class1
{
public static void Main()
{
string sentence = "Half-way down a by-street of one of our New England towns, stands a rusty wooden " +
"house, with seven acutely peaked gables, facing towards various points of the compass, " +
"and a huge, clustered chimney in the midst.";
string pattern = @"\b[hH]\w*\b";
MatchCollection matches = Regex.Matches(sentence, pattern);
for (int ctr=0; ctr < matches.Count; ctr++)
{
Console.WriteLine(matches[ctr].Value);
}
}
}
Option Strict On
Imports System.Text.RegularExpressions
Module TestMatches
Public Sub Main()
Dim pattern As String = "\b[hH]\w*\b"
Dim sentence As String
sentence = "Half-way down a by-street of one of our New England towns, stands a rusty wooden " & _
"house, with seven acutely peaked gables, facing towards various points of the compass, " & _
"and a huge, clustered chimney in the midst."
Dim matches As MatchCollection = Regex.Matches(sentence, pattern)
For ctr As Integer = 0 To Matches.Count - 1
Console.WriteLine(matches.Item(ctr).Value)
Next
End Sub
End Module
W przykładzie są generowane następujące dane wyjściowe:
Half
house
huge
Uwagi
W języku C# Item[] właściwość jest indeksatorem; nie jest jawnie przywoływana w kodzie, ale umożliwia MatchCollection dostęp do kolekcji tak, jakby była tablicą.
Zazwyczaj poszczególne elementy w MatchCollection obiekcie są dostępne przez ich indeks dopiero po określeniu Count całkowitej liczby elementów w kolekcji z właściwości . Jednak uzyskanie Count dostępu do właściwości powoduje, że aparat wyrażeń regularnych używa bezpośredniej oceny do kompilowania kolekcji jednocześnie. Jest to zazwyczaj droższe niż iterowanie kolekcji przy użyciu GetEnumerator metody, instrukcji języka C# foreach
lub instrukcji Visual Basic For Each
...Next
.
MatchCollection Ponieważ obiekt jest zwykle wypełniany przy użyciu oceny z opóźnieniem, próba przejścia do określonego dopasowania może zgłosić RegexMatchTimeoutException wyjątek. Ten wyjątek można zgłosić, jeśli wartość limitu czasu dla pasujących operacji jest w życie, a próba znalezienia określonego dopasowania przekracza ten interwał limitu czasu.