GroupCollection.CopyTo Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
CopyTo(Array, Int32) |
Zkopíruje všechny prvky kolekce do daného pole počínaje daným indexem. |
CopyTo(Group[], Int32) |
Zkopíruje prvky kolekce skupin do Group pole počínaje konkrétním indexem pole. |
CopyTo(Array, Int32)
Zkopíruje všechny prvky kolekce do daného pole počínaje daným indexem.
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)
Parametry
- array
- Array
Pole, do které se má kolekce zkopírovat.
- arrayIndex
- Int32
Pozice v cílovém poli, kde má kopírování začínat.
Implementuje
Výjimky
array
je null
.
Příklady
Následující příklad extrahuje každé slovo z věty a zachytí ho ve skupině zachytávání. CopyTo Metoda se pak použije ke zkopírování prvků v objektu každé shody GroupCollection do pole, které obsahuje zachytávání skupin ze všech shod. Jednotlivá zachycená slova se pak zobrazí v konzole.
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
Regulární výraz je definován takto:
Vzor | Description |
---|---|
\b |
Porovná hranici slova. |
(\S+?) |
Porovná jeden nebo více prázdných znaků. Přiřaďte je k první zachytávání skupiny. |
\b |
Porovná hranici slova. |
Poznámky
Vzhledem k tomu, že se celá kolekce zkopíruje do pole počínaje daným indexem, musí být cílové pole alespoň tak velké jako kolekce.
Upozornění
Tento člen není k dispozici v knihovně přenosných tříd. Pokud vyvíjíte aplikace, které cílí na knihovnu přenosných tříd, použijte místo toho metodu GroupCollection.ICollection.CopyTo .
Platí pro
CopyTo(Group[], Int32)
Zkopíruje prvky kolekce skupin do Group pole počínaje konkrétním indexem pole.
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)
Parametry
- array
- Group[]
Jednorozměrné pole, které je cílem prvků zkopírovaných z kolekce skupin. Pole musí mít indexování s nulovým základem.
- arrayIndex
- Int32
Index založený na nule v poli array
, ve kterém kopírování začíná.
Implementuje
Výjimky
array
je null.
Hodnota arrayIndex
je menší než nula.
-nebo-
arrayIndex
je větší než délka .array
Délka array
- arrayIndex
je menší než počet kolekcí skupin.