Freigeben über


GroupCollection.CopyTo Methode

Definition

Überlädt

CopyTo(Array, Int32)

Kopiert alle Elemente der Auflistung ab dem angegebenen Index in das angegebene Array.

CopyTo(Group[], Int32)

Kopiert die Elemente der Gruppenauflistung in ein Group-Array, wobei an einem bestimmten Arrayindex begonnen wird.

CopyTo(Array, Int32)

Kopiert alle Elemente der Auflistung ab dem angegebenen Index in das angegebene Array.

public:
 virtual void CopyTo(Array ^ array, int arrayIndex);
public void CopyTo (Array array, int arrayIndex);
abstract member CopyTo : Array * int -> unit
override this.CopyTo : Array * int -> unit
Public Sub CopyTo (array As Array, arrayIndex As Integer)

Parameter

array
Array

Das Array, in das die Auflistung kopiert werden soll.

arrayIndex
Int32

Die Position im Zielarray, an der mit dem Kopieren begonnen werden soll.

Implementiert

Ausnahmen

array ist null.

arrayIndex liegt außerhalb der Grenzen von array.

- oder -

arrayIndex und Count liegen außerhalb der Grenzen von array.

Beispiele

Im folgenden Beispiel werden jedes Wort aus einem Satz extrahiert und in einer Aufnahmegruppe erfasst, die CopyTo Methode wird dann verwendet, um die Elemente im Objekt der GroupCollection einzelnen Übereinstimmungen in ein Array zu kopieren, das die Aufnahmegruppen aus allen Übereinstimmungen enthält. Die einzelnen erfassten Wörter werden dann in der Konsole angezeigt.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\b(\S+?)\b";
      string input = "This sentence is rather short but pointless.";

      MatchCollection matches = Regex.Matches(input, pattern);
      object[] words = new object[matches.Count * 2];
      
      int index = 0;
      foreach (Match match in matches)
      {
         match.Groups.CopyTo(words, index);
         index += 2;
      }
      
      // Display captured groups.
      for (int ctr = 1; ctr <= words.GetUpperBound(0); ctr += 2)
         Console.WriteLine(words[ctr]);
   }
}
// The example displays the following output:
//       This
//       sentence
//       is
//       rather
//       short
//       but
//       pointless
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "\b(\S+?)\b"
      Dim input As String = "This sentence is rather short but pointless."

      Dim matches As MatchCollection = Regex.Matches(input, pattern)
      Dim words(matches.Count * 2 - 1) As Object
      
      Dim index As Integer = 0
      For Each match As Match In matches
         match.Groups.CopyTo(words, index)
         index += 2
      Next
      ' Display captured groups.
      For ctr As Integer = 1 To words.GetUpperBound(0) Step 2
         Console.WriteLine(words(ctr))
      Next
   End Sub
End Module
' The example displays the following output:
'       This
'       sentence
'       is
'       rather
'       short
'       but
'       pointless

Der reguläre Ausdruck wird wie folgt definiert:

Muster Beschreibung
\b Übereinstimmung mit einer Wortgrenze.
(\S+?) Stimmen Sie einem oder mehreren Nicht-Leerzeichen zu. Weisen Sie sie der ersten Aufnahmegruppe zu.
\b Übereinstimmung mit einer Wortgrenze.

Hinweise

Da die gesamte Auflistung ab dem angegebenen Index in das Array kopiert wird, muss das Zielarray mindestens so groß sein wie die Auflistung.

Warnung

Dieses Element ist in der Portable Class Library nicht vorhanden. Wenn Sie Anwendungen entwickeln, die auf die portable Klassenbibliothek abzielen, verwenden Sie stattdessen die GroupCollection.ICollection.CopyTo Methode.

Gilt für

CopyTo(Group[], Int32)

Kopiert die Elemente der Gruppenauflistung in ein Group-Array, wobei an einem bestimmten Arrayindex begonnen wird.

public:
 virtual void CopyTo(cli::array <System::Text::RegularExpressions::Group ^> ^ array, int arrayIndex);
public void CopyTo (System.Text.RegularExpressions.Group[] array, int arrayIndex);
abstract member CopyTo : System.Text.RegularExpressions.Group[] * int -> unit
override this.CopyTo : System.Text.RegularExpressions.Group[] * int -> unit
Public Sub CopyTo (array As Group(), arrayIndex As Integer)

Parameter

array
Group[]

Das eindimensionales Array, bei dem es sich um das Ziel der aus der Gruppenauflistung kopierten Elemente handelt. Für das Array muss eine nullbasierte Indizierung verwendet werden.

arrayIndex
Int32

Der nullbasierte Index im array, bei dem der Kopiervorgang beginnt.

Implementiert

Ausnahmen

array ist NULL.

arrayIndex ist kleiner als Null.

- oder -

arrayIndex ist größer als die Länge von array.

Die Länge von array - arrayIndex ist kleiner als die Anzahl der Gruppen in der Auflistung.

Gilt für