BitArray.CopyTo Method

Copies the entire BitArray to a compatible one-dimensional Array, starting at the specified index of the target array.

Namespace:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Sub CopyTo ( _
	array As Array, _
	index As Integer _
)

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)

ExceptionCondition
ArgumentNullException

array is Nothing.

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.Collections

Public Class Example

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      ' 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.
      outputBlock.Text &= "The target Boolean Array contains the following (before and after copying):" & vbCrLf
      PrintValues(outputBlock, 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(outputBlock, 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.
      outputBlock.Text &= "The target Boolean Array contains the following (before and after copying):" & vbCrLf
      PrintValues(outputBlock, 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(outputBlock, 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.
      outputBlock.Text &= "The target Boolean Array contains the following (before and after copying):" & vbCrLf
      PrintValues(outputBlock, 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(outputBlock, 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
         outputBlock.Text &= "Exception: " + myException.ToString() & vbCrLf
      End Try

   End Sub 'Main

   Public Shared Sub PrintValues(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal myArr As IEnumerable)
      Dim obj As [Object]
      For Each obj In myArr
         outputBlock.Text += String.Format("{0,8}", obj)
      Next obj
      outputBlock.Text &= vbCrLf
   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()



Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show: