GroupCollection.CopyTo Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
CopyTo(Array, Int32) |
Копирует все элементы коллекции в данный массив, начиная с данного индекса. |
CopyTo(Group[], Int32) |
Копирует элементы коллекции групп в массив Group, начиная с определенного индекса в массиве. |
CopyTo(Array, Int32)
Копирует все элементы коллекции в данный массив, начиная с данного индекса.
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)
Параметры
- array
- Array
Массив, в который необходимо скопировать коллекцию.
- arrayIndex
- Int32
Позиция в конечном массиве, в которой необходимо начать копирование.
Реализации
Исключения
array
имеет значение null
.
Значение параметра arrayIndex
выходит за пределы массива array
.
-или-
Сумма значений arrayIndex
и Count выходит за пределы массива array
.
Примеры
В следующем примере извлекается каждое слово из предложения и записывается в захватываемую группу. CopyTo Затем метод используется для копирования элементов в объекте каждого совпадения GroupCollection в массив, содержащий захватываемые группы из всех совпадений. Затем отдельные захваченные слова отображаются в консоли.
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
Регулярное выражение определяется следующим образом:
Шаблон | Описание |
---|---|
\b |
Соответствует границе слова. |
(\S+?) |
Соответствует одному или нескольким символам, не являющихся пробелами. Назначьте их первой захватываемой группе. |
\b |
Соответствует границе слова. |
Комментарии
Так как вся коллекция копируется в массив, начиная с заданного индекса, целевой массив должен быть не менее большим, чем коллекция.
Предупреждение
Этот член отсутствует в переносимой библиотеке классов. Если вы разрабатываете приложения, предназначенные для переносимой библиотеки классов, используйте GroupCollection.ICollection.CopyTo вместо этого метод.
Применяется к
CopyTo(Group[], Int32)
Копирует элементы коллекции групп в массив Group, начиная с определенного индекса в массиве.
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)
Параметры
- array
- Group[]
Одномерный массив, куда копируются элементы из данной коллекции групп. Индекс в массиве должен начинаться с нуля.
- arrayIndex
- Int32
Отсчитываемый от нуля индекс в массиве array
, указывающий начало копирования.
Реализации
Исключения
Параметр array
имеет значение null.
Значение параметра arrayIndex
меньше нуля.
-или-
Значение arrayIndex
превышает длину array
.
Длина array
- arrayIndex
меньше количества коллекции групп.