GroupCollection.CopyTo Method (Array, Int32)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Copies all the elements of the collection to the given array beginning at the given index.

Namespace:   System.Text.RegularExpressions
Assembly:  System (in System.dll)

Public Sub CopyTo (
	array As Array,
	arrayIndex As Integer


Type: System.Array

The array the collection is to be copied into.

Type: System.Int32

The position in the destination array where the copying is to begin.

Exception Condition

array is null.


arrayIndex is outside the bounds of array.


arrayIndex plus GroupCollection.Count is outside the bounds of array.

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.


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.

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.

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
      ' Display captured groups.
      For ctr As Integer = 1 To words.GetUpperBound(0) Step 2
   End Sub
End Module
' The example displays the following output:
'       This
'       sentence
'       is
'       rather
'       short
'       but
'       pointless

The regular expression is defined as follows:




Match a word boundary.


Match one or more non-white space characters. Assign them to the first capturing group.


Match a word boundary.

.NET Framework
Available since 1.1
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top