BitArray.Or(BitArray) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
public:
System::Collections::BitArray ^ Or(System::Collections::BitArray ^ value);
public System.Collections.BitArray Or (System.Collections.BitArray value);
member this.Or : System.Collections.BitArray -> System.Collections.BitArray
Public Function Or (value As BitArray) As BitArray
매개 변수
- value
- BitArray
비트 OR 연산이 수행될 배열입니다.
반환
비트 OR 작업의 결과 포함하는 배열로, 현재 BitArray 개체에 대한 참조입니다.
예외
value
이(가) null
인 경우
value
와 현재 BitArray의 요소 수가 서로 다른 경우
예제
다음 코드 예제에서는 두 BitArray 개체 간에 OR 작업을 수행하는 방법을 보여 있습니다.
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[ 1 ] = true;
myBA2[ 2 ] = false;
myBA2[ 3 ] = true;
// Performs a bitwise OR 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( "OR:" );
PrintValues( myBA1->Or( myBA2 ), 8 );
Console::WriteLine();
Console::WriteLine( "After OR" );
Console::Write( "myBA1:" );
PrintValues( myBA1, 8 );
Console::Write( "myBA2:" );
PrintValues( myBA2, 8 );
Console::WriteLine();
// Performing OR 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->Or( 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
OR: False True True True
After OR
myBA1: False True True True
myBA2: False True False True
Exception: System.ArgumentException: Array lengths must be the same.
at System.Collections.BitArray.Or(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 OR 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( "OR:" );
PrintValues( myBA1.Or( myBA2 ), 8 );
Console.WriteLine();
Console.WriteLine( "After OR" );
Console.Write( "myBA1:" );
PrintValues( myBA1, 8 );
Console.Write( "myBA2:" );
PrintValues( myBA2, 8 );
Console.WriteLine();
// Performing OR 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.Or( 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
OR: False True True True
After OR
myBA1: False True True True
myBA2: False True False True
Exception: System.ArgumentException: Array lengths must be the same.
at System.Collections.BitArray.Or(BitArray value)
at SamplesBitArray.Main()
*/
Imports System.Collections
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(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 OR 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("OR:")
PrintValues(myBA1.Or(myBA2), 8)
Console.WriteLine()
Console.WriteLine("After OR")
Console.Write("myBA1:")
PrintValues(myBA1, 8)
Console.Write("myBA2:")
PrintValues(myBA2, 8)
Console.WriteLine()
' Performing OR 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.Or(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
End Class
' This code produces the following output.
'
' Initial values
' myBA1: False False True True
' myBA2: False True False True
'
' Result
' OR: False True True True
'
' After OR
' myBA1: False True True True
' myBA2: False True False True
'
' Exception: System.ArgumentException: Array lengths must be the same.
' at System.Collections.BitArray.Or(BitArray value)
' at SamplesBitArray.Main()
설명
비트 OR 연산은 하나 또는 두 피연산자 true
중 하나 또는 둘 다 이면 를 반환 true
하고 두 피연산자 모두 이면 를 반환 false
합니다false
.
이 메서드는 작업입니다 O(n)
. 여기서 n
은 입니다 Count.
적용 대상
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET