Assembly: mscorlib (in mscorlib.dll)
Public Sub CopyTo ( _ array As Array, _ index As Integer _ )
public void CopyTo( Array array, int index )
public: virtual void CopyTo( Array^ array, int index ) sealed
abstract CopyTo : array:Array * index:int -> unit override CopyTo : array:Array * index:int -> unit
Parameters
- array
- Type: System.Array
The one-dimensional Array that is the destination of the elements copied from BitArray. The Array must have zero-based indexing.
- index
- Type: System.Int32
The zero-based index in array at which copying begins.
Implements
ICollection.CopyTo(Array, Int32)| Exception | Condition |
|---|---|
| ArgumentNullException |
array is null. |
| ArgumentOutOfRangeException |
index is less than zero. |
| ArgumentException |
array is multidimensional. -or- The number of elements in the source BitArray is greater than the available space from index to the end of the destination array. |
| InvalidCastException |
The type of the source BitArray cannot be cast automatically to the type of the destination array. |
The specified array must be of a compatible type. Only bool, int, and byte types of arrays are supported.
This method uses Array.Copy to copy the elements.
This method is an O(n) operation, where n is Count.
The following code example shows how to copy a BitArray into a one-dimensional Array.
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() */
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.