MatchCollection Sınıf

Tanım

Giriş dizesine normal bir ifade deseninin uygulanmasıyla birlikte bulunan başarılı eşleşmelerin kümesini temsil eder.Represents the set of successful matches found by iteratively applying a regular expression pattern to the input string. Koleksiyon sabittir (salt okunurdur) ve genel oluşturucuya sahip değildir.The collection is immutable (read-only) and has no public constructor. Matches(String) metodu bir MatchCollection nesnesi döndürür.The Matches(String) method returns a MatchCollection object.

public ref class MatchCollection : System::Collections::ICollection
public ref class MatchCollection : System::Collections::Generic::ICollection<System::Text::RegularExpressions::Match ^>, System::Collections::Generic::IEnumerable<System::Text::RegularExpressions::Match ^>, System::Collections::Generic::IList<System::Text::RegularExpressions::Match ^>, System::Collections::Generic::IReadOnlyCollection<System::Text::RegularExpressions::Match ^>, System::Collections::Generic::IReadOnlyList<System::Text::RegularExpressions::Match ^>, System::Collections::IList
public class MatchCollection : System.Collections.ICollection
public class MatchCollection : System.Collections.Generic.ICollection<System.Text.RegularExpressions.Match>, System.Collections.Generic.IEnumerable<System.Text.RegularExpressions.Match>, System.Collections.Generic.IList<System.Text.RegularExpressions.Match>, System.Collections.Generic.IReadOnlyCollection<System.Text.RegularExpressions.Match>, System.Collections.Generic.IReadOnlyList<System.Text.RegularExpressions.Match>, System.Collections.IList
[System.Serializable]
public class MatchCollection : System.Collections.ICollection
type MatchCollection = class
    interface ICollection
    interface IEnumerable
type MatchCollection = class
    interface ICollection<Match>
    interface seq<Match>
    interface IEnumerable
    interface IList<Match>
    interface IReadOnlyCollection<Match>
    interface IReadOnlyList<Match>
    interface ICollection
    interface IList
type MatchCollection = class
    interface ICollection
    interface IEnumerable
    interface ICollection<Match>
    interface seq<Match>
    interface IList<Match>
    interface IReadOnlyCollection<Match>
    interface IReadOnlyList<Match>
    interface IList
Public Class MatchCollection
Implements ICollection
Public Class MatchCollection
Implements ICollection(Of Match), IEnumerable(Of Match), IList, IList(Of Match), IReadOnlyCollection(Of Match), IReadOnlyList(Of Match)
Devralma
MatchCollection
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnek, Match örneklerinin bir kümesini sorgulanamıyor için MatchCollection sınıfının kullanımını gösterir.The following example illustrates the use of the MatchCollection class to interrogate a set of Match instances.

#using <System.dll>

using namespace System;
using namespace System::Text::RegularExpressions;
int main()
{
   // Define a regular expression for repeated words.
   Regex^ rx = gcnew Regex( "\\b(?<word>\\w+)\\s+(\\k<word>)\\b",static_cast<RegexOptions>(RegexOptions::Compiled | RegexOptions::IgnoreCase) );

   // Define a test string.        
   String^ text = "The the quick brown fox  fox jumps over the lazy dog dog.";

   // Find matches.
   MatchCollection^ matches = rx->Matches( text );

   // Report the number of matches found.
   Console::WriteLine( "{0} matches found.", matches->Count );

   // Report on each match.
   for each (Match^ match in matches)
   {
      String^ word = match->Groups["word"]->Value;
      int index = match->Index;
      Console::WriteLine("{0} repeated at position {1}", word, index);   
   }
}
using System;
using System.Text.RegularExpressions;

public class Test
{

    public static void Main ()
    {

        // Define a regular expression for repeated words.
        Regex rx = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b",
          RegexOptions.Compiled | RegexOptions.IgnoreCase);

        // Define a test string.
        string text = "The the quick brown fox  fox jumps over the lazy dog dog.";

        // Find matches.
        MatchCollection matches = rx.Matches(text);

        // Report the number of matches found.
        Console.WriteLine("{0} matches found in:\n   {1}",
                          matches.Count,
                          text);

        // Report on each match.
        foreach (Match match in matches)
        {
            GroupCollection groups = match.Groups;
            Console.WriteLine("'{0}' repeated at positions {1} and {2}",
                              groups["word"].Value,
                              groups[0].Index,
                              groups[1].Index);
        }
    }
}
// The example produces the following output to the console:
//       3 matches found in:
//          The the quick brown fox  fox jumps over the lazy dog dog.
//       'The' repeated at positions 0 and 4
//       'fox' repeated at positions 20 and 25
//       'dog' repeated at positions 50 and 54
Imports System.Text.RegularExpressions

Public Module Test

    Public Sub Main()
        ' Define a regular expression for repeated words.
        Dim rx As New Regex("\b(?<word>\w+)\s+(\k<word>)\b", _
               RegexOptions.Compiled Or RegexOptions.IgnoreCase)

        ' Define a test string.        
        Dim text As String = "The the quick brown fox  fox jumps over the lazy dog dog."
        
        ' Find matches.
        Dim matches As MatchCollection = rx.Matches(text)

        ' Report the number of matches found.
        Console.WriteLine("{0} matches found in:", matches.Count)
        Console.WriteLine("   {0}", text)

        ' Report on each match.
        For Each match As Match In matches
            Dim groups As GroupCollection = match.Groups
            Console.WriteLine("'{0}' repeated at positions {1} and {2}", _ 
                              groups.Item("word").Value, _
                              groups.Item(0).Index, _
                              groups.Item(1).Index)
        Next
    End Sub
End Module
' The example produces the following output to the console:
'       3 matches found in:
'          The the quick brown fox  fox jumps over the lazy dog dog.
'       'The' repeated at positions 0 and 4
'       'fox' repeated at positions 20 and 25
'       'dog' repeated at positions 50 and 54

Açıklamalar

Koleksiyon sabittir (salt okunurdur) ve genel oluşturucuya sahip değildir.The collection is immutable (read-only) and has no public constructor. Regex.Matches metodu bir MatchCollection nesnesi döndürür.The Regex.Matches method returns a MatchCollection object.

Koleksiyonda sıfır veya daha fazla System.Text.RegularExpressions.Match nesne var.The collection contains zero or more System.Text.RegularExpressions.Match objects. Eşleşme başarılı olursa, koleksiyon giriş dizesinde bulunan her eşleşme için bir System.Text.RegularExpressions.Match nesnesi ile doldurulur.If the match is successful, the collection is populated with one System.Text.RegularExpressions.Match object for each match found in the input string. Eşleşme başarısız olursa, koleksiyon System.Text.RegularExpressions.Match nesne içermez ve Count özelliği sıfır değerine eşittir.If the match is unsuccessful, the collection contains no System.Text.RegularExpressions.Match objects, and its Count property equals zero.

Belirli bir giriş dizesine normal ifade deseninin uygulanırken, normal ifade altyapısı MatchCollection nesnesini oluşturmak için iki teknikten birini kullanır:When applying a regular expression pattern to a particular input string, the regular expression engine uses either of two techniques to build the MatchCollection object:

  • Doğrudan değerlendirme.Direct evaluation.

    MatchCollection nesnesi her seferinde bir kez doldurulur ve bu, belirli bir çağrıdan Regex.Matches yöntemine neden olur.The MatchCollection object is populated all at once, with all matches resulting from a particular call to the Regex.Matches method. Bu teknik, koleksiyonun Count özelliğine erişildiğinde kullanılır.This technique is used when the collection's Count property is accessed. Genellikle koleksiyonun doldurulmasının daha pahalı bir yöntemi olur ve daha fazla performans okuması gerektirir.It typically is the more expensive method of populating the collection and entails a greater performance hit.

  • Yavaş değerlendirme.Lazy evaluation.

    MatchCollection nesnesi, eşleştirme temelinde gerektiği şekilde doldurulur.The MatchCollection object is populated as needed on a match-by-match basis. Regex.Match yöntemini tekrar tekrar çağıran ve her eşleşmeyi koleksiyona ekleyen normal ifade altyapısının eşdeğeridir.It is equivalent to the regular expression engine calling the Regex.Match method repeatedly and adding each match to the collection. Bu teknik, koleksiyona GetEnumerator yöntemiyle erişildiğinde veya foreach deyimin (in C#) veya For Each...Next ifadesinde (Visual Basic) erişildiğinde kullanılır.This technique is used when the collection is accessed through its GetEnumerator method, or when it is accessed using the foreach statement (in C#) or the For Each...Next statement (in Visual Basic).

Koleksiyonun üyeleri arasında yinelemek için, diliniz tarafından sunulan koleksiyon yineleme yapısını (foreach C# ve For Each...Next kullanmanız gerekir.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 EachNext Visual Basic) GetEnumerator yöntemi tarafından döndürülen Numaralandırıcı almak yerine.in Visual Basic) instead of retrieving the enumerator that is returned by the GetEnumerator method.

Özellikler

Count

Eşleşmelerin sayısını alır.Gets the number of matches.

IsReadOnly

Koleksiyonun salt okunup okunmadığını gösteren bir değer alır.Gets a value that indicates whether the collection is read only.

IsSynchronized

Koleksiyona erişimin eşitlenip eşitlenmediğini (iş parçacığı açısından güvenli) gösteren bir değer alır.Gets a value indicating whether access to the collection is synchronized (thread-safe).

Item[Int32]

Koleksiyonun tek bir üyesini alır.Gets an individual member of the collection.

SyncRoot

Koleksiyona erişimi eşzamanlı hale getirmek için kullanılabilecek bir nesne alır.Gets an object that can be used to synchronize access to the collection.

Yöntemler

CopyTo(Array, Int32)

Belirtilen dizinden başlayarak koleksiyonun tüm öğelerini verilen diziye kopyalar.Copies all the elements of the collection to the given array starting at the given index.

CopyTo(Match[], Int32)

Koleksiyonun öğelerini belirli bir Array dizininden başlayarak bir Arraykopyalar.Copies the elements of the collection to an Array, starting at a particular Array index.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

(Devralındığı yer: Object)
GetEnumerator()

Koleksiyon boyunca yinelenen bir Numaralandırıcı sağlar.Provides an enumerator that iterates through the collection.

GetHashCode()

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

ICollection.CopyTo(Array, Int32)

Belirtilen dizinden başlayarak koleksiyonun tüm öğelerini belirtilen diziye kopyalar.Copies all the elements of the collection to the specified array starting at the specified index.

ICollection.IsSynchronized

Koleksiyona erişimin eşitlenip eşitlenmediğini (iş parçacığı açısından güvenli) gösteren bir değer alır.Gets a value that indicates whether access to the collection is synchronized (thread-safe).

ICollection.SyncRoot

Koleksiyona erişimi eşzamanlı hale getirmek için kullanılabilecek bir nesne alır.Gets an object that can be used to synchronize access to the collection.

ICollection<Match>.Add(Match)

Bu yöntemin çağrılması her zaman NotSupportedExceptionoluşturur.Calling this method always throws NotSupportedException.

ICollection<Match>.Clear()

Bu yöntemin çağrılması her zaman NotSupportedExceptionoluşturur.Calling this method always throws NotSupportedException.

ICollection<Match>.Contains(Match)

Koleksiyonun belirli bir değer içerip içermediğini belirler.Determines whether the collection contains a specific value.

ICollection<Match>.Remove(Match)

Bu yöntemin çağrılması her zaman NotSupportedExceptionoluşturur.Calling this method always throws NotSupportedException.

IEnumerable<Match>.GetEnumerator()

Toplulukta yinelenen bir numaralandırıcı döndürür.Returns an enumerator that iterates through the collection.

IList.Add(Object)

Bu yöntemin çağrılması her zaman NotSupportedExceptionoluşturur.Calling this method always throws NotSupportedException.

IList.Clear()

Tüm öğeleri koleksiyondan kaldırır.Removes all items from the collection.

IList.Contains(Object)

Koleksiyonun belirli bir değer içerip içermediğini belirler.Determines whether the collection contains a specific value.

IList.IndexOf(Object)

Koleksiyondaki belirli bir öğenin dizinini belirler.Determines the index of a specific item in the collection.

IList.Insert(Int32, Object)

Bu yöntemin çağrılması her zaman NotSupportedExceptionoluşturur.Calling this method always throws NotSupportedException.

IList.IsFixedSize

Koleksiyonun sabit boyuta sahip olup olmadığını gösteren bir değer alır.Gets a value indicating whether the collection has a fixed size.

IList.Item[Int32]

Belirtilen dizindeki öğeyi alır.Gets the element at the specified index.

IList.Remove(Object)

Bu yöntemin çağrılması her zaman NotSupportedExceptionoluşturur.Calling this method always throws NotSupportedException.

IList.RemoveAt(Int32)

Bu yöntemin çağrılması her zaman NotSupportedExceptionoluşturur.Calling this method always throws NotSupportedException.

IList<Match>.IndexOf(Match)

Koleksiyondaki belirli bir öğenin dizinini belirler.Determines the index of a specific item in the collection.

IList<Match>.Insert(Int32, Match)

Bu yöntemin çağrılması her zaman NotSupportedExceptionoluşturur.Calling this method always throws NotSupportedException.

IList<Match>.Item[Int32]

Belirtilen dizindeki öğeyi alır.Gets the element at the specified index.

IList<Match>.RemoveAt(Int32)

Bu yöntemin çağrılması her zaman NotSupportedExceptionoluşturur.Calling this method always throws NotSupportedException.

Uzantı Metotları

Cast<TResult>(IEnumerable)

IEnumerable öğelerini belirtilen türe yayınlar.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

IEnumerable öğelerini belirtilen bir türe göre filtreler.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Bir sorgunun paralelleştirilmesini mümkün hale getirme.Enables parallelization of a query.

AsQueryable(IEnumerable)

Bir IEnumerable IQueryabledönüştürür.Converts an IEnumerable to an IQueryable.

Şunlara uygulanır