Represents the set of successful matches found by iteratively applying a regular expression pattern to the input string.
See Also: MatchCollection Members
The collection contains zero or more System.Text.RegularExpressions.Match objects. If the match is successful, the collection is populated with one System.Text.RegularExpressions.Match object for each match found in the input string. If the match is unsuccessful, the collection contains no System.Text.RegularExpressions.Match objects, and its MatchCollection.Count property equals zero.
When applying a regular expression pattern to a particular input string, the regular expression engine uses either of two techniques to build the System.Text.RegularExpressions.MatchCollection object:
The System.Text.RegularExpressions.MatchCollection object is populated all at once, with all matches resulting from a particular call to the Regex.Matches(string) method. This technique is used when the collection's MatchCollection.Count property is accessed. It typically is the more expensive method of populating the collection and entails a greater performance hit.
The System.Text.RegularExpressions.MatchCollection object is populated as needed on a match-by-match basis. It is equivalent to the regular expression engine calling the Regex.Match(string) method repeatedly and adding each match to the collection. This technique is used when the collection is accessed through its MatchCollection.GetEnumerator method, or when it is accessed using the foreach statement (in C#) or the For Each...Next statement (in Visual Basic).
To iterate through the members of the collection, you should use the collection iteration construct provided by your language (such as foreach in C# and For Each…Next in Visual Basic) instead of retrieving the enumerator that is returned by the MatchCollection.GetEnumerator method.