GroupCollection.CopyTo Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
CopyTo(Array, Int32) |
Copies all the elements of the collection to the given array beginning at the given index. |
CopyTo(Group[], Int32) |
Copies the elements of the group collection to a Group array, starting at a particular array index. |
CopyTo(Array, Int32)
- Source:
- GroupCollection.cs
- Source:
- GroupCollection.cs
- Source:
- GroupCollection.cs
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
is null
.
arrayIndex
is outside the bounds of array
.
-or-
arrayIndex
plus Count is outside the bounds of array
.
Examples
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 | Description |
---|---|
\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
This member is not present in the Portable Class Library. If you are developing applications that target the Portable Class Library, use the GroupCollection.ICollection.CopyTo method instead.
Applies to
CopyTo(Group[], Int32)
- Source:
- GroupCollection.cs
- Source:
- GroupCollection.cs
- Source:
- GroupCollection.cs
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
The zero-based index in array
at which copying begins.
Implements
Exceptions
array
is null.
arrayIndex
is less than zero.
-or-
arrayIndex
is greater than the length of array
.
The length of array
- arrayIndex
is less than the group collection count.