Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Kopiert die gesamte BitArray in ein kompatibles eindimensionales Array, beginnend am angegebenen Index des Zielarrays.
Namespace: System.Collections
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Sub CopyTo ( _
array As Array, _
index As Integer _
)
'Usage
Dim instance As BitArray
Dim array As Array
Dim index As Integer
instance.CopyTo(array, index)
public void CopyTo (
Array array,
int index
)
public:
virtual void CopyTo (
Array^ array,
int index
) sealed
public final void CopyTo (
Array array,
int index
)
public final function CopyTo (
array : Array,
index : int
)
Parameter
- array
Das eindimensionale Array, das das Ziel der aus BitArray kopierten Elemente ist. Für Array muss eine nullbasierte Indizierung verwendet werden.
- index
Der nullbasierte Index in array, ab dem kopiert wird.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
array ist NULL (Nothing in Visual Basic). |
|
index ist kleiner als 0 (null). |
|
array ist mehrdimensional. - oder - index ist größer oder gleich der Länge von array. - oder - Die Anzahl der aus dem Quell-BitArray zu kopierenden Elemente ist größer als der verfügbare Platz von index bis zum Ende des Ziel-array. |
|
Der Typ der Quell-BitArray kann nicht automatisch in den Typ des Ziel-array umgewandelt werden. |
Hinweise
Der Typ des angegebenen Arrays muss kompatibel sein. Es werden nur die Arraytypen bool, int und byte unterstützt.
Diese Methode kopiert die Elemente mithilfe von Array.Copy.
Diese Methode ist eine O(n)-Operation, wobei n der Count ist.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie ein BitArray in ein eindimensionales Array kopiert wird.
Imports System
Imports System.Collections
Public Class SamplesBitArray
Public Shared Sub Main()
' Creates and initializes the source BitArray.
Dim myBA As New BitArray(4)
myBA(0) = True
myBA(1) = True
myBA(2) = True
myBA(3) = True
' Creates and initializes the one-dimensional target Array of type Boolean.
Dim myBoolArray(7) As Boolean
myBoolArray(0) = False
myBoolArray(1) = False
' Displays the values of the target Array.
Console.WriteLine("The target Boolean Array contains the following (before and after copying):")
PrintValues(myBoolArray)
' Copies the entire source BitArray to the target BitArray, starting at index 3.
myBA.CopyTo(myBoolArray, 3)
' Displays the values of the target Array.
PrintValues(myBoolArray)
' Creates and initializes the one-dimensional target Array of type integer.
Dim myIntArray(7) As Integer
myIntArray(0) = 42
myIntArray(1) = 43
' Displays the values of the target Array.
Console.WriteLine("The target Boolean Array contains the following (before and after copying):")
PrintValues(myIntArray)
' Copies the entire source BitArray to the target BitArray, starting at index 3.
myBA.CopyTo(myIntArray, 3)
' Displays the values of the target Array.
PrintValues(myIntArray)
' Creates and initializes the one-dimensional target Array of type integer.
Dim myByteArray As Array = Array.CreateInstance(GetType(Byte), 8)
myByteArray.SetValue(System.Convert.ToByte(10), 0)
myByteArray.SetValue(System.Convert.ToByte(11), 1)
' Displays the values of the target Array.
Console.WriteLine("The target Boolean Array contains the following (before and after copying):")
PrintValues(myByteArray)
' Copies the entire source BitArray to the target BitArray, starting at index 3.
myBA.CopyTo(myByteArray, 3)
' Displays the values of the target Array.
PrintValues(myByteArray)
' Returns an exception if the array is not of type Boolean, integer or byte.
Try
Dim myStringArray As Array = Array.CreateInstance(GetType(String), 8)
myStringArray.SetValue("Hello", 0)
myStringArray.SetValue("World", 1)
myBA.CopyTo(myStringArray, 3)
Catch myException As Exception
Console.WriteLine("Exception: " + myException.ToString())
End Try
End Sub 'Main
Public Shared Sub PrintValues(myArr As IEnumerable)
Dim obj As [Object]
For Each obj In myArr
Console.Write("{0,8}", obj)
Next obj
Console.WriteLine()
End Sub 'PrintValues
End Class 'SamplesBitArray
' This code produces the following output.
'
' The target Boolean Array contains the following (before and after copying):
' False False False False False False False False
' False False False True True True True False
' The target Boolean Array contains the following (before and after copying):
' 42 43 0 0 0 0 0 0
' 42 43 0 15 0 0 0 0
' The target Boolean Array contains the following (before and after copying):
' 10 11 0 0 0 0 0 0
' 10 11 0 15 0 0 0 0
' Exception: System.ArgumentException: Only supported array types for CopyTo on BitArrays are Boolean[], Int32[] and Byte[].
' at System.Collections.BitArray.CopyTo(Array array, Int32 index)
' at SamplesBitArray.Main()
using System;
using System.Collections;
public class SamplesBitArray {
public static void Main() {
// Creates and initializes the source BitArray.
BitArray myBA = new BitArray( 4 );
myBA[0] = myBA[1] = myBA[2] = myBA[3] = true;
// Creates and initializes the one-dimensional target Array of type Boolean.
bool[] myBoolArray = new bool[8];
myBoolArray[0] = false;
myBoolArray[1] = false;
// Displays the values of the target Array.
Console.WriteLine( "The target Boolean Array contains the following (before and after copying):" );
PrintValues( myBoolArray );
// Copies the entire source BitArray to the target BitArray, starting at index 3.
myBA.CopyTo( myBoolArray, 3 );
// Displays the values of the target Array.
PrintValues( myBoolArray );
// Creates and initializes the one-dimensional target Array of type integer.
int[] myIntArray = new int[8];
myIntArray[0] = 42;
myIntArray[1] = 43;
// Displays the values of the target Array.
Console.WriteLine( "The target Boolean Array contains the following (before and after copying):" );
PrintValues( myIntArray );
// Copies the entire source BitArray to the target BitArray, starting at index 3.
myBA.CopyTo( myIntArray, 3 );
// Displays the values of the target Array.
PrintValues( myIntArray );
// Creates and initializes the one-dimensional target Array of type integer.
Array myByteArray = Array.CreateInstance( typeof(byte), 8 );
myByteArray.SetValue( (byte) 10, 0 );
myByteArray.SetValue( (byte) 11, 1 );
// Displays the values of the target Array.
Console.WriteLine( "The target Boolean Array contains the following (before and after copying):" );
PrintValues( myByteArray );
// Copies the entire source BitArray to the target BitArray, starting at index 3.
myBA.CopyTo( myByteArray, 3 );
// Displays the values of the target Array.
PrintValues( myByteArray );
// Returns an exception if the array is not of type Boolean, integer or byte.
try {
Array myStringArray=Array.CreateInstance( typeof(String), 8 );
myStringArray.SetValue( "Hello", 0 );
myStringArray.SetValue( "World", 1 );
myBA.CopyTo( myStringArray, 3 );
} catch ( Exception myException ) {
Console.WriteLine("Exception: " + myException.ToString());
}
}
public static void PrintValues( IEnumerable myArr ) {
foreach ( Object obj in myArr ) {
Console.Write( "{0,8}", obj );
}
Console.WriteLine();
}
}
/*
This code produces the following output.
The target Boolean Array contains the following (before and after copying):
False False False False False False False False
False False False True True True True False
The target Boolean Array contains the following (before and after copying):
42 43 0 0 0 0 0 0
42 43 0 15 0 0 0 0
The target Boolean Array contains the following (before and after copying):
10 11 0 0 0 0 0 0
10 11 0 15 0 0 0 0
Exception: System.ArgumentException: Only supported array types for CopyTo on BitArrays are Boolean[], Int32[] and Byte[].
at System.Collections.BitArray.CopyTo(Array array, Int32 index)
at SamplesBitArray.Main()
*/
using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myArr );
int main()
{
// Creates and initializes the source BitArray.
BitArray^ myBA = gcnew BitArray( 4 );
myBA[ 0 ] = true;
myBA[ 1 ] = true;
myBA[ 2 ] = true;
myBA[ 3 ] = true;
// Creates and initializes the one-dimensional target Array of type Boolean.
array<Boolean>^myBoolArray = gcnew array<Boolean>(8);
myBoolArray[ 0 ] = false;
myBoolArray[ 1 ] = false;
// Displays the values of the target Array.
Console::WriteLine( "The target Boolean Array contains the following (before and after copying):" );
PrintValues( dynamic_cast<IEnumerable^>(myBoolArray) );
// Copies the entire source BitArray to the target BitArray, starting at index 3.
myBA->CopyTo( myBoolArray, 3 );
// Displays the values of the target Array.
PrintValues( dynamic_cast<IEnumerable^>(myBoolArray) );
// Creates and initializes the one-dimensional target Array of type integer.
array<Int32>^myIntArray = gcnew array<Int32>(8);
myIntArray[ 0 ] = 42;
myIntArray[ 1 ] = 43;
// Displays the values of the target Array.
Console::WriteLine( "The target Boolean Array contains the following (before and after copying):" );
PrintValues( dynamic_cast<IEnumerable^>(myIntArray) );
// Copies the entire source BitArray to the target BitArray, starting at index 3.
myBA->CopyTo( myIntArray, 3 );
// Displays the values of the target Array.
PrintValues( dynamic_cast<IEnumerable^>(myIntArray) );
// Creates and initializes the one-dimensional target Array of type integer.
Array^ myByteArray = Array::CreateInstance( Byte::typeid, 8 );
myByteArray->SetValue( (Byte)10, 0 );
myByteArray->SetValue( (Byte)11, 1 );
// Displays the values of the target Array.
Console::WriteLine( "The target Boolean Array contains the following (before and after copying):" );
PrintValues( myByteArray );
// Copies the entire source BitArray to the target BitArray, starting at index 3.
myBA->CopyTo( myByteArray, 3 );
// Displays the values of the target Array.
PrintValues( myByteArray );
// Returns an exception if the array is not of type Boolean, integer or byte.
try
{
Array^ myStringArray = Array::CreateInstance( String::typeid, 8 );
myStringArray->SetValue( "Hello", 0 );
myStringArray->SetValue( "World", 1 );
myBA->CopyTo( myStringArray, 3 );
}
catch ( Exception^ myException )
{
Console::WriteLine( "Exception: {0}", myException );
}
}
void PrintValues( IEnumerable^ myArr )
{
IEnumerator^ myEnum = myArr->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
Console::Write( "{0,8}", obj );
}
Console::WriteLine();
}
/*
This code produces the following output.
The target Boolean Array contains the following (before and after copying):
False False False False False False False False
False False False True True True True False
The target Boolean Array contains the following (before and after copying):
42 43 0 0 0 0 0 0
42 43 0 15 0 0 0 0
The target Boolean Array contains the following (before and after copying):
10 11 0 0 0 0 0 0
10 11 0 15 0 0 0 0
Exception: System.ArgumentException: Only supported array types for CopyTo on BitArrays are Boolean[], Int32[] and Byte[].
at System.Collections.BitArray.CopyTo(Array array, Int32 index)
at SamplesBitArray.Main()
*/
import System.*;
import System.Collections.*;
public class SamplesBitArray
{
public static void main(String[] args)
{
// Creates and initializes the source BitArray.
BitArray myBA = new BitArray(4);
myBA.set_Item(0, true);
myBA.set_Item(1, true);
myBA.set_Item(2, true);
myBA.set_Item(3, true);
// Creates and initializes the one-dimensional target Array of
// type Boolean.
boolean myBoolArray[] = new boolean[8];
myBoolArray[0] = false;
myBoolArray[1] = false;
// Displays the values of the target Array.
Console.WriteLine("The target Boolean Array contains the following"
+ " (before and after copying):");
PrintValues(myBoolArray);
// Copies the entire source BitArray to the target BitArray, starting
// at index 3.
myBA.CopyTo(myBoolArray, 3);
// Displays the values of the target Array.
PrintValues(myBoolArray);
// Creates and initializes the one-dimensional target Array of type
// integer.
int myIntArray[] = new int[8];
myIntArray[0] = 42;
myIntArray[1] = 43;
// Displays the values of the target Array.
Console.WriteLine("The target Boolean Array contains the following"
+ " (before and after copying):");
PrintValues(myIntArray);
// Copies the entire source BitArray to the target BitArray, starting
// at index 3.
myBA.CopyTo(myIntArray, 3);
// Displays the values of the target Array.
PrintValues(myIntArray);
// Creates and initializes the one-dimensional target Array of
// type integer.
Array myByteArray = Array.CreateInstance(ubyte.class.ToType(), 8);
myByteArray.SetValue((System.Byte)(10), 0);
myByteArray.SetValue((System.Byte)(11), 1);
// Displays the values of the target Array.
Console.WriteLine("The target Boolean Array contains the following"
+ " (before and after copying):");
PrintValues(myByteArray);
// Copies the entire source BitArray to the target BitArray, starting
// at index 3.
myBA.CopyTo(myByteArray, 3);
// Displays the values of the target Array.
PrintValues(myByteArray);
// Returns an exception if the array is not of type Boolean, integer
// or byte.
try {
Array myStringArray = Array.CreateInstance(String.class.ToType(),8);
myStringArray.SetValue("Hello", 0);
myStringArray.SetValue("World", 1);
myBA.CopyTo(myStringArray, 3);
}
catch (System.Exception myException) {
Console.WriteLine(("Exception: " + myException.ToString()));
}
} //main
public static void PrintValues(IEnumerable myArr)
{
IEnumerator objMyEnum = myArr.GetEnumerator();
while (objMyEnum.MoveNext()) {
Object obj = objMyEnum.get_Current();
Console.Write("{0,8}", obj);
}
Console.WriteLine();
} //PrintValues
}//SamplesBitArray
/*
This code produces the following output.
The target Boolean Array contains the following (before and after copying):
False False False False False False False False
False False False True True True True False
The target Boolean Array contains the following (before and after copying):
42 43 0 0 0 0 0 0
42 43 0 15 0 0 0 0
The target Boolean Array contains the following (before and after copying):
10 11 0 0 0 0 0 0
10 11 0 15 0 0 0 0
Exception: System.ArgumentException: Only supported array types for CopyTo on
BitArrays are Boolean[], Int32[] and Byte[].
at System.Collections.BitArray.CopyTo(Array array, Int32 index)
at SamplesBitArray.main(String[] args)
*/
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
BitArray-Klasse
BitArray-Member
System.Collections-Namespace
Array-Klasse