# BitArray.And(BitArray)BitArray.And(BitArray)BitArray.And(BitArray)BitArray.And(BitArray) Method

## 定義

``````public:
System::Collections::BitArray ^ And(System::Collections::BitArray ^ value);``````
``public System.Collections.BitArray And (System.Collections.BitArray value);``
``member this.And : System.Collections.BitArray -> System.Collections.BitArray``
``Public Function And (value As BitArray) As BitArray``

#### パラメーター

value
BitArray BitArray BitArray BitArray

ビットごとの AND 演算の実行対象となる配列。The array with which to perform the bitwise AND operation.

#### 戻り値

ビットごとの AND 演算の結果を含み、現在の BitArray オブジェクトへの参照である配列。An array containing the result of the bitwise AND operation, which is a reference to the current BitArray object.

#### 例外

`value``null`です。`value` is `null`.

`value` の要素数と現在の BitArray の要素数が異なります。`value` and the current BitArray do not have the same number of elements.

## 例

``````using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myList, int myWidth );
int main()
{

// Creates and initializes two BitArrays of the same size.
BitArray^ myBA1 = gcnew BitArray( 4 );
BitArray^ myBA2 = gcnew BitArray( 4 );
myBA1[ 0 ] = false;
myBA1[ 1 ] = false;
myBA1[ 2 ] = true;
myBA1[ 3 ] = true;
myBA2[ 0 ] = false;
myBA2[ 2 ] = false;
myBA2[ 1 ] = true;
myBA2[ 3 ] = true;

// Performs a bitwise AND operation between BitArray instances of the same size.
Console::WriteLine( "Initial values" );
Console::Write( "myBA1:" );
PrintValues( myBA1, 8 );
Console::Write( "myBA2:" );
PrintValues( myBA2, 8 );
Console::WriteLine();
Console::WriteLine( "Result" );
Console::Write( "AND:" );
PrintValues( myBA1->And( myBA2 ), 8 );
Console::WriteLine();
Console::WriteLine( "After AND" );
Console::Write( "myBA1:" );
PrintValues( myBA1, 8 );
Console::Write( "myBA2:" );
PrintValues( myBA2, 8 );
Console::WriteLine();

// Performing AND between BitArray instances of different sizes returns an exception.
try
{
BitArray^ myBA3 = gcnew BitArray( 8 );
myBA3[ 0 ] = false;
myBA3[ 1 ] = false;
myBA3[ 2 ] = false;
myBA3[ 3 ] = false;
myBA3[ 4 ] = true;
myBA3[ 5 ] = true;
myBA3[ 6 ] = true;
myBA3[ 7 ] = true;
myBA1->And( myBA3 );
}
catch ( Exception^ myException )
{
Console::WriteLine( "Exception: {0}", myException );
}

}

void PrintValues( IEnumerable^ myList, int myWidth )
{
int i = myWidth;
IEnumerator^ myEnum = myList->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
if ( i <= 0 )
{
i = myWidth;
Console::WriteLine();
}

i--;
Console::Write( "{0,8}", obj );
}

Console::WriteLine();
}

/*
This code produces the following output.

Initial values
myBA1:   False   False    True    True
myBA2:   False    True   False    True

Result
AND:   False   False   False    True

After AND
myBA1:   False   False   False    True
myBA2:   False    True   False    True

Exception: System.ArgumentException: Array lengths must be the same.
at System.Collections.BitArray.And(BitArray value)
at SamplesBitArray.Main()
*/
``````
``````using System;
using System.Collections;
public class SamplesBitArray  {

public static void Main()  {

// Creates and initializes two BitArrays of the same size.
BitArray myBA1 = new BitArray( 4 );
BitArray myBA2 = new BitArray( 4 );
myBA1[0] = myBA1[1] = false;
myBA1[2] = myBA1[3] = true;
myBA2[0] = myBA2[2] = false;
myBA2[1] = myBA2[3] = true;

// Performs a bitwise AND operation between BitArray instances of the same size.
Console.WriteLine( "Initial values" );
Console.Write( "myBA1:" );
PrintValues( myBA1, 8 );
Console.Write( "myBA2:" );
PrintValues( myBA2, 8 );
Console.WriteLine();

Console.WriteLine( "Result" );
Console.Write( "AND:" );
PrintValues( myBA1.And( myBA2 ), 8 );
Console.WriteLine();

Console.WriteLine( "After AND" );
Console.Write( "myBA1:" );
PrintValues( myBA1, 8 );
Console.Write( "myBA2:" );
PrintValues( myBA2, 8 );
Console.WriteLine();

// Performing AND between BitArray instances of different sizes returns an exception.
try  {
BitArray myBA3 = new BitArray( 8 );
myBA3[0] = myBA3[1] = myBA3[2] = myBA3[3] = false;
myBA3[4] = myBA3[5] = myBA3[6] = myBA3[7] = true;
myBA1.And( myBA3 );
} catch ( Exception myException )  {
Console.WriteLine("Exception: " + myException.ToString());
}
}

public static void PrintValues( IEnumerable myList, int myWidth )  {
int i = myWidth;
foreach ( Object obj in myList ) {
if ( i <= 0 )  {
i = myWidth;
Console.WriteLine();
}
i--;
Console.Write( "{0,8}", obj );
}
Console.WriteLine();
}

}

/*
This code produces the following output.

Initial values
myBA1:   False   False    True    True
myBA2:   False    True   False    True

Result
AND:   False   False   False    True

After AND
myBA1:   False   False   False    True
myBA2:   False    True   False    True

Exception: System.ArgumentException: Array lengths must be the same.
at System.Collections.BitArray.And(BitArray value)
at SamplesBitArray.Main()
*/
``````
``````Imports System
Imports System.Collections
Imports Microsoft.VisualBasic

Public Class SamplesBitArray

Public Shared Sub Main()

' Creates and initializes two BitArrays of the same size.
Dim myBA1 As New BitArray(4)
Dim myBA2 As New BitArray(4)
myBA1(1) = False
myBA1(0) = False
myBA1(3) = True
myBA1(2) = True
myBA2(2) = False
myBA2(0) = False
myBA2(3) = True
myBA2(1) = True

' Performs a bitwise AND operation between BitArray instances of the same size.
Console.WriteLine("Initial values")
Console.Write("myBA1:")
PrintValues(myBA1, 8)
Console.Write("myBA2:")
PrintValues(myBA2, 8)
Console.WriteLine()

Console.WriteLine("Result")
Console.Write("AND:")
PrintValues(myBA1.And(myBA2), 8)
Console.WriteLine()

Console.WriteLine("After AND")
Console.Write("myBA1:")
PrintValues(myBA1, 8)
Console.Write("myBA2:")
PrintValues(myBA2, 8)
Console.WriteLine()

' Performing AND between BitArray instances of different sizes returns an exception.
Try
Dim myBA3 As New BitArray(8)
myBA3(0) = False
myBA3(1) = False
myBA3(2) = False
myBA3(3) = False
myBA3(4) = True
myBA3(5) = True
myBA3(6) = True
myBA3(7) = True
myBA1.And(myBA3)
Catch myException As Exception
Console.WriteLine("Exception: " + myException.ToString())
End Try
End Sub

Public Shared Sub PrintValues(myList As IEnumerable, myWidth As Integer)
Dim i As Integer = myWidth
Dim obj As [Object]
For Each obj In  myList
If i <= 0 Then
i = myWidth
Console.WriteLine()
End If
i -= 1
Console.Write("{0,8}", obj)
Next obj
Console.WriteLine()
End Sub 'PrintValues

End Class

' This code produces the following output.
'
' Initial values
' myBA1:   False   False    True    True
' myBA2:   False    True   False    True
'
' Result
' AND:   False   False   False    True
'
' After AND
' myBA1:   False   False   False    True
' myBA2:   False    True   False    True
'
' Exception: System.ArgumentException: Array lengths must be the same.
'    at System.Collections.BitArray.And(BitArray value)
'    at SamplesBitArray.Main()

``````

## 注釈

ビットごとの AND 演算を返します`true`場合、両方のオペランドが`true`、し、返します`false`場合は 1 つまたは両方のオペランドが`false`The bitwise AND operation returns `true` if both operands are `true`, and returns `false` if one or both operands are `false`.

このメソッドは O (`n`) 操作、`n`Countします。This method is an O(`n`) operation, where `n` is Count.