GroupCollection.CopyTo GroupCollection.CopyTo GroupCollection.CopyTo GroupCollection.CopyTo Method

定義

オーバーロード

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

指定したインデックスを開始位置として、指定した配列にコレクションのすべての要素をコピーします。Copies all the elements of the collection to the given array beginning at the given index.

CopyTo(Group[], Int32) CopyTo(Group[], Int32) CopyTo(Group[], Int32) CopyTo(Group[], Int32)

特定の配列インデックスを開始位置として、System.Text.RegularExpressions.Group[] 配列にグループ コレクションの要素をコピーします。Copies the elements of the group collection to a System.Text.RegularExpressions.Group[] array, starting at a particular array index.

CopyTo(Array, Int32) CopyTo(Array, Int32) 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

パラメーター

array
Array Array Array Array

コレクションのコピー先の配列。The array the collection is to be copied into.

arrayIndex
Int32 Int32 Int32 Int32

コピーの開始位置を示す、コピー先の配列内の位置。The position in the destination array where the copying is to begin.

実装

例外

arrayIndexarray の境界の外側にあります。arrayIndex is outside the bounds of array.

- または --or-

arrayIndexCount を加えた値が array の境界の外側にあります。arrayIndex plus Count is outside the bounds of array.

次の例では、文から各単語を抽出し、キャプチャグループCopyToにキャプチャします。次に、メソッドを使用して、 GroupCollection一致した各オブジェクトの要素を、すべての一致からキャプチャグループを含む配列にコピーします。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+?) 1個以上の空白以外の文字と一致します。Match one or more non-white space characters. 最初のキャプチャグループに割り当てます。Assign them to the first capturing group.
\b ワード境界に一致します。Match a word boundary.

注釈

コレクション全体が指定されたインデックスを開始位置として配列にコピーされるため、コピー先の配列は、少なくともコレクションのサイズ以上である必要があります。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.

警告

このメンバーはにポータブル クラス ライブラリ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) CopyTo(Group[], Int32) CopyTo(Group[], Int32) CopyTo(Group[], Int32)

特定の配列インデックスを開始位置として、System.Text.RegularExpressions.Group[] 配列にグループ コレクションの要素をコピーします。Copies the elements of the group collection to a System.Text.RegularExpressions.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)

パラメーター

array
Group[]

グループ コレクションからコピーされる要素のコピー先となる 1 次元配列。The one-dimensional array that is the destination of the elements copied from the group collection. 配列には、0 から始まるインデックスが設定されている必要があります。The array must have zero-based indexing.

arrayIndex
Int32 Int32 Int32 Int32

コピーの開始位置とする array のインデックス (0 から始まる)。The zero-based index in array at which copying begins.

例外

arrayIndex が 0 未満です。arrayIndex is less than zero.

- または --or-

arrayIndexarray の長さを超えています。arrayIndex is greater than the length of array.

array - arrayIndex の長さがグループ コレクションの数を下回っています。The length of array - arrayIndex is less than the group collection count.

適用対象