GroupCollection.CopyTo Method

Definition

Overloads

CopyTo(Array, Int32)

Копирует все элементы коллекции в данный массив, начиная с данного индекса.Copies all the elements of the collection to the given array beginning at the given index.

CopyTo(Group[], Int32)

Копирует элементы коллекции групп в массив Group, начиная с определенного индекса в массиве.Copies the elements of the group collection to a Group array, starting at a particular array index.

CopyTo(Array, Int32)

Копирует все элементы коллекции в данный массив, начиная с данного индекса.Copies all the elements of the collection to the given array beginning at the given index.

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)

Parameters

array
Array

Массив, в который необходимо скопировать коллекцию.The array the collection is to be copied into.

arrayIndex
Int32

Позиция в конечном массиве, в которой необходимо начать копирование.The position in the destination array where the copying is to begin.

Implements

Exceptions

Параметр array равен null.array is null.

Значение параметра arrayIndex выходит за пределы массива array.arrayIndex is outside the bounds of array.

-или--or-

Сумма значений arrayIndex и Count выходит за пределы массива array.arrayIndex plus Count is outside the bounds of array.

Examples

В следующем примере каждое слово извлекается из предложения и захватывается в группе записи. Затем метод CopyTo используется для копирования элементов в каждом GroupCollectionном объекте Match в массив, содержащий захваченные группы из всех совпадений.The following example extracts each word from a sentence and captures it in a capturing group, The CopyTo method is then used to copy the elements in each match's GroupCollection object to an array that contains the capturing groups from all matches. Затем отдельные захваченные слова отображаются в консоли.The individual captured words are then displayed to the console.

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

Регулярное выражение определяется следующим образом:The regular expression is defined as follows:

МодельPattern DescriptionDescription
\b Соответствует границе слова.Match a word boundary.
(\S+?) Совпадение с одним или несколькими символами, не являющимися пробелами.Match one or more non-white space characters. Назначьте их первой группе записи.Assign them to the first capturing group.
\b Соответствует границе слова.Match a word boundary.

Remarks

Поскольку вся коллекция копируется в массив, начиная с заданного индекса, массив назначения должен быть не меньше, чем коллекция.Because the entire collection is copied into the array starting at the given index, the destination array must be at least as large as the collection.

Warning

Этот элемент отсутствует в Переносимая библиотека классовPortable Class Library.This member is not present in the Переносимая библиотека классовPortable Class Library. При разработке приложений, предназначенных для Переносимая библиотека классовPortable Class Library, используйте вместо этого метод GroupCollection.ICollection.CopyTo.If you are developing applications that target the Переносимая библиотека классовPortable Class Library, use the GroupCollection.ICollection.CopyTo method instead.

CopyTo(Group[], Int32)

Копирует элементы коллекции групп в массив Group, начиная с определенного индекса в массиве.Copies the elements of the group collection to a Group array, starting at a particular array index.

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)

Parameters

array
Group[]

Одномерный массив, куда копируются элементы из данной коллекции групп.The one-dimensional array that is the destination of the elements copied from the group collection. В массиве должна применяться индексация, начиная с нуля.The array must have zero-based indexing.

arrayIndex
Int32

Отсчитываемый от нуля индекс в массиве array, с которого начинается копирование.The zero-based index in array at which copying begins.

Implements

Exceptions

Параметр array имеет значение null.array is null.

arrayIndex меньше нуля.arrayIndex is less than zero.

-или--or-

Значение arrayIndex превышает длину array.arrayIndex is greater than the length of array.

Длина array - arrayIndex меньше количества коллекции групп.The length of array - arrayIndex is less than the group collection count.

Applies to