GroupCollection.CopyTo メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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
です。
例
次の例では、文から各単語を抽出し、キャプチャ グループでキャプチャします。メソッド 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+?) |
1 つ以上の空白以外の文字と一致します。 最初のキャプチャ グループに割り当てます。 |
\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[]
グループ コレクションからコピーされる要素のコピー先となる 1 次元配列。 配列には、0 から始まるインデックスが設定されている必要があります。
- arrayIndex
- Int32
コピーの開始位置とする array
のインデックス (0 から始まる)。
実装
例外
array
が null です。
array
- arrayIndex
の長さがグループ コレクションの数を下回っています。