Partager via


BitArray.Set Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Sets the bit at a specific position in the BitArray to the specified value.

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

Syntax

'Declaration
Public Sub Set ( _
    index As Integer, _
    value As Boolean _
)
public void Set(
    int index,
    bool value
)

Parameters

  • index
    Type: System.Int32
    The zero-based index of the bit to set.

Exceptions

Exception Condition
ArgumentOutOfRangeException

index is less than zero.

-or-

index is greater than or equal to the number of elements in the BitArray.

Remarks

This method is an O(1) operation.

Examples

The following code example shows how to set and get specific elements in a BitArray.

Imports System.Collections

Public Class Example

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

      ' Creates and initializes a BitArray.
      Dim myBA As New BitArray(5)

      ' Displays the properties and values of the BitArray.
      outputBlock.Text &= "myBA values:" & vbCrLf
      PrintIndexAndValues(outputBlock, myBA)

      ' Sets all the elements to true.
      myBA.SetAll(True)

      ' Displays the properties and values of the BitArray.
      outputBlock.Text &= String.Format("After setting all elements to true,") & vbCrLf
      PrintIndexAndValues(outputBlock, myBA)

      ' Sets the last index to false.
      myBA.Set(myBA.Count - 1, False)

      ' Displays the properties and values of the BitArray.
      outputBlock.Text &= String.Format("After setting the last element to false,") & vbCrLf
      PrintIndexAndValues(outputBlock, myBA)

      ' Gets the value of the last two elements.
      outputBlock.Text &= "The last two elements are: " & vbCrLf
      outputBlock.Text &= String.Format("    at index {0} : {1}", _
         myBA.Count - 2, myBA.Get(myBA.Count - 2)) & vbCrLf
      outputBlock.Text &= String.Format("    at index {0} : {1}", _
         myBA.Count - 1, myBA.Get(myBA.Count - 1)) & vbCrLf
   End Sub 'Main

   Public Shared Sub PrintIndexAndValues(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal myCol As IEnumerable)
      Dim i As Integer
      Dim obj As Object
      i = 0
      For Each obj In myCol
         outputBlock.Text &= String.Format("    [{0}]:    {1}", i, obj) & vbCrLf
         i = i + 1
      Next obj
      outputBlock.Text &= vbCrLf
   End Sub 'PrintValues

End Class

' This code produces the following output.
' 
' myBA values:
'     [0]:    False
'     [1]:    False
'     [2]:    False
'     [3]:    False
'     [4]:    False
' 
' After setting all elements to true,
'     [0]:    True
'     [1]:    True
'     [2]:    True
'     [3]:    True
'     [4]:    True
' 
' After setting the last element to false,
'     [0]:    True
'     [1]:    True
'     [2]:    True
'     [3]:    True
'     [4]:    False
' 
' The last two elements are:
'     at index 3 : True
'     at index 4 : False

using System;
using System.Collections;
public class Example
{

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      // Creates and initializes a BitArray.
      BitArray myBA = new BitArray(5);

      // Displays the properties and values of the BitArray.
      outputBlock.Text += "myBA values:" + "\n";
      PrintIndexAndValues(outputBlock, myBA);

      // Sets all the elements to true.
      myBA.SetAll(true);

      // Displays the properties and values of the BitArray.
      outputBlock.Text += String.Format("After setting all elements to true,") + "\n";
      PrintIndexAndValues(outputBlock, myBA);

      // Sets the last index to false.
      myBA.Set(myBA.Count - 1, false);

      // Displays the properties and values of the BitArray.
      outputBlock.Text += String.Format("After setting the last element to false,") + "\n";
      PrintIndexAndValues(outputBlock, myBA);

      // Gets the value of the last two elements.
      outputBlock.Text += "The last two elements are: " + "\n";
      outputBlock.Text += String.Format("    at index {0} : {1}", myBA.Count - 2, myBA.Get(myBA.Count - 2)) + "\n";
      outputBlock.Text += String.Format("    at index {0} : {1}", myBA.Count - 1, myBA.Get(myBA.Count - 1)) + "\n";
   }


   public static void PrintIndexAndValues(System.Windows.Controls.TextBlock outputBlock, IEnumerable myCol)
   {
      int i = 0;
      foreach (Object obj in myCol)
      {
         outputBlock.Text += String.Format("    [{0}]:    {1}", i++, obj) + "\n";
      }
      outputBlock.Text += "\n";
   }

}
/* 
This code produces the following output.

myBA values:
    [0]:    False
    [1]:    False
    [2]:    False
    [3]:    False
    [4]:    False

After setting all elements to true,
    [0]:    True
    [1]:    True
    [2]:    True
    [3]:    True
    [4]:    True

After setting the last element to false,
    [0]:    True
    [1]:    True
    [2]:    True
    [3]:    True
    [4]:    False

The last two elements are:
    at index 3 : True
    at index 4 : False

*/

Version Information

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

Platforms

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