BitVector32.CreateMask 메서드

정의

비트 플래그로 설정된 BitVector32에서 개별 비트를 검색하는 데 사용할 수 있는 일련의 마스크를 만듭니다.Creates a series of masks that can be used to retrieve individual bits in a BitVector32 that is set up as bit flags.

오버로드

CreateMask()

비트 플래그로 설정된 BitVector32에서 개별 비트를 검색하는 데 사용할 수 있는 일련의 마스크 중의 첫 번째 마스크를 만듭니다.Creates the first mask in a series of masks that can be used to retrieve individual bits in a BitVector32 that is set up as bit flags.

CreateMask(Int32)

비트 플래그로 설정된 BitVector32에서 개별 비트를 검색하는 데 사용할 수 있는 일련의 마스크 중에서 지정된 마스크 다음에 마스크를 추가로 만듭니다.Creates an additional mask following the specified mask in a series of masks that can be used to retrieve individual bits in a BitVector32 that is set up as bit flags.

CreateMask()

비트 플래그로 설정된 BitVector32에서 개별 비트를 검색하는 데 사용할 수 있는 일련의 마스크 중의 첫 번째 마스크를 만듭니다.Creates the first mask in a series of masks that can be used to retrieve individual bits in a BitVector32 that is set up as bit flags.

public:
 static int CreateMask();
public static int CreateMask ();
static member CreateMask : unit -> int
Public Shared Function CreateMask () As Integer

반환

BitVector32에서 첫 번째 비트 플래그를 격리하는 마스크입니다.A mask that isolates the first bit flag in the BitVector32.

예제

다음 코드 예제에는 만들고 마스크를 사용 하는 방법을 보여 줍니다.The following code example shows how to create and use masks.

#using <system.dll>

using namespace System;
using namespace System::Collections::Specialized;
int main()
{
   // Creates and initializes a BitVector32 with all bit flags set to FALSE.
   BitVector32 myBV;

   // Creates masks to isolate each of the first five bit flags.
   int myBit1 = BitVector32::CreateMask();
   int myBit2 = BitVector32::CreateMask( myBit1 );
   int myBit3 = BitVector32::CreateMask( myBit2 );
   int myBit4 = BitVector32::CreateMask( myBit3 );
   int myBit5 = BitVector32::CreateMask( myBit4 );
   Console::WriteLine( "Initial:               \t {0}", myBV );

   // Sets the third bit to TRUE.
   myBV[ myBit3 ] = true;
   Console::WriteLine( "myBit3 = TRUE          \t {0}", myBV );

   // Combines two masks to access multiple bits at a time.
   myBV[ myBit4 + myBit5 ] = true;
   Console::WriteLine( "myBit4 + myBit5 = TRUE \t {0}", myBV );
   myBV[ myBit1 | myBit2 ] = true;
   Console::WriteLine( "myBit1 | myBit2 = TRUE \t {0}", myBV );
}

/*
This code produces the following output.

Initial:                BitVector32 {00000000000000000000000000000000}
myBit3 = TRUE           BitVector32 {00000000000000000000000000000100}
myBit4 + myBit5 = TRUE  BitVector32 {00000000000000000000000000011100}
myBit1 | myBit2 = TRUE  BitVector32 {00000000000000000000000000011111}

*/
using System;
using System.Collections.Specialized;

public class SamplesBitVector32  {

   public static void Main()  {

      // Creates and initializes a BitVector32 with all bit flags set to FALSE.
      BitVector32 myBV = new BitVector32( 0 );

      // Creates masks to isolate each of the first five bit flags.
      int myBit1 = BitVector32.CreateMask();
      int myBit2 = BitVector32.CreateMask( myBit1 );
      int myBit3 = BitVector32.CreateMask( myBit2 );
      int myBit4 = BitVector32.CreateMask( myBit3 );
      int myBit5 = BitVector32.CreateMask( myBit4 );
      Console.WriteLine( "Initial:               \t{0}", myBV.ToString() );

      // Sets the third bit to TRUE.
      myBV[myBit3] = true;
      Console.WriteLine( "myBit3 = TRUE          \t{0}", myBV.ToString() );

      // Combines two masks to access multiple bits at a time.
      myBV[myBit4 + myBit5] = true;
      Console.WriteLine( "myBit4 + myBit5 = TRUE \t{0}", myBV.ToString() );
      myBV[myBit1 | myBit2] = true;
      Console.WriteLine( "myBit1 | myBit2 = TRUE \t{0}", myBV.ToString() );
   }
}

/*
This code produces the following output.

Initial:                BitVector32{00000000000000000000000000000000}
myBit3 = TRUE           BitVector32{00000000000000000000000000000100}
myBit4 + myBit5 = TRUE  BitVector32{00000000000000000000000000011100}
myBit1 | myBit2 = TRUE  BitVector32{00000000000000000000000000011111}

*/
Imports System.Collections.Specialized


Public Class SamplesBitVector32

   Public Shared Sub Main()

      ' Creates and initializes a BitVector32 with all bit flags set to FALSE.
      Dim myBV As New BitVector32(0)
      
      ' Creates masks to isolate each of the first five bit flags.
      Dim myBit1 As Integer = BitVector32.CreateMask()
      Dim myBit2 As Integer = BitVector32.CreateMask(myBit1)
      Dim myBit3 As Integer = BitVector32.CreateMask(myBit2)
      Dim myBit4 As Integer = BitVector32.CreateMask(myBit3)
      Dim myBit5 As Integer = BitVector32.CreateMask(myBit4)
      Console.WriteLine("Initial:               " + ControlChars.Tab + "{0}", myBV.ToString())
      
      ' Sets the third bit to TRUE.
      myBV(myBit3) = True
      Console.WriteLine("myBit3 = TRUE          " + ControlChars.Tab + "{0}", myBV.ToString())
      
      ' Combines two masks to access multiple bits at a time.
      myBV((myBit4 + myBit5)) = True
      Console.WriteLine("myBit4 + myBit5 = TRUE " + ControlChars.Tab + "{0}", myBV.ToString())
      myBV((myBit1 Or myBit2)) = True
      Console.WriteLine("myBit1 | myBit2 = TRUE " + ControlChars.Tab + "{0}", myBV.ToString())

   End Sub

End Class


' This code produces the following output.
'
' Initial:                BitVector32{00000000000000000000000000000000}
' myBit3 = TRUE           BitVector32{00000000000000000000000000000100}
' myBit4 + myBit5 = TRUE  BitVector32{00000000000000000000000000011100}
' myBit1 | myBit2 = TRUE  BitVector32{00000000000000000000000000011111}

설명

CreateMask()를 사용 하 여 시리즈에서 첫 번째 마스크를 만들고 모든 후속 마스크에 대해 CreateMask(int) 합니다.Use CreateMask() to create the first mask in a series and CreateMask(int) for all subsequent masks.

같은 비트 플래그를 가리키도록 여러 마스크를 만들 수 있습니다.Multiple masks can be created to refer to the same bit flag.

결과 마스크는 BitVector32에서 하나의 비트 플래그만 분리 합니다.The resulting mask isolates only one bit flag in the BitVector32. 비트 OR 연산을 사용 하 여 마스크를 조합 하 여 BitVector32에서 여러 비트 플래그를 격리 하는 마스크를 만들 수 있습니다.You can combine masks using the bitwise OR operation to create a mask that isolates multiple bit flags in the BitVector32.

섹션으로 설정 된 BitVector32에서 마스크를 사용 하면 예기치 않은 결과가 발생할 수 있습니다.Using a mask on a BitVector32 that is set up as sections might cause unexpected results.

이 방법은 O(1) 작업에 설명 합니다.This method is an O(1) operation.

CreateMask(Int32)

비트 플래그로 설정된 BitVector32에서 개별 비트를 검색하는 데 사용할 수 있는 일련의 마스크 중에서 지정된 마스크 다음에 마스크를 추가로 만듭니다.Creates an additional mask following the specified mask in a series of masks that can be used to retrieve individual bits in a BitVector32 that is set up as bit flags.

public:
 static int CreateMask(int previous);
public static int CreateMask (int previous);
static member CreateMask : int -> int
Public Shared Function CreateMask (previous As Integer) As Integer

매개 변수

previous
Int32

이전 비트 플래그를 나타내는 마스크입니다.The mask that indicates the previous bit flag.

반환

previous에서 BitVector32가 가리키는 마스크 다음의 비트 플래그를 격리하는 마스크입니다.A mask that isolates the bit flag following the one that previous points to in BitVector32.

예외

previousBitVector32의 마지막 비트 플래그를 나타내는 경우previous indicates the last bit flag in the BitVector32.

예제

다음 코드 예제에는 만들고 마스크를 사용 하는 방법을 보여 줍니다.The following code example shows how to create and use masks.

#using <system.dll>

using namespace System;
using namespace System::Collections::Specialized;
int main()
{
   // Creates and initializes a BitVector32 with all bit flags set to FALSE.
   BitVector32 myBV;

   // Creates masks to isolate each of the first five bit flags.
   int myBit1 = BitVector32::CreateMask();
   int myBit2 = BitVector32::CreateMask( myBit1 );
   int myBit3 = BitVector32::CreateMask( myBit2 );
   int myBit4 = BitVector32::CreateMask( myBit3 );
   int myBit5 = BitVector32::CreateMask( myBit4 );
   Console::WriteLine( "Initial:               \t {0}", myBV );

   // Sets the third bit to TRUE.
   myBV[ myBit3 ] = true;
   Console::WriteLine( "myBit3 = TRUE          \t {0}", myBV );

   // Combines two masks to access multiple bits at a time.
   myBV[ myBit4 + myBit5 ] = true;
   Console::WriteLine( "myBit4 + myBit5 = TRUE \t {0}", myBV );
   myBV[ myBit1 | myBit2 ] = true;
   Console::WriteLine( "myBit1 | myBit2 = TRUE \t {0}", myBV );
}

/*
This code produces the following output.

Initial:                BitVector32 {00000000000000000000000000000000}
myBit3 = TRUE           BitVector32 {00000000000000000000000000000100}
myBit4 + myBit5 = TRUE  BitVector32 {00000000000000000000000000011100}
myBit1 | myBit2 = TRUE  BitVector32 {00000000000000000000000000011111}

*/
using System;
using System.Collections.Specialized;

public class SamplesBitVector32  {

   public static void Main()  {

      // Creates and initializes a BitVector32 with all bit flags set to FALSE.
      BitVector32 myBV = new BitVector32( 0 );

      // Creates masks to isolate each of the first five bit flags.
      int myBit1 = BitVector32.CreateMask();
      int myBit2 = BitVector32.CreateMask( myBit1 );
      int myBit3 = BitVector32.CreateMask( myBit2 );
      int myBit4 = BitVector32.CreateMask( myBit3 );
      int myBit5 = BitVector32.CreateMask( myBit4 );
      Console.WriteLine( "Initial:               \t{0}", myBV.ToString() );

      // Sets the third bit to TRUE.
      myBV[myBit3] = true;
      Console.WriteLine( "myBit3 = TRUE          \t{0}", myBV.ToString() );

      // Combines two masks to access multiple bits at a time.
      myBV[myBit4 + myBit5] = true;
      Console.WriteLine( "myBit4 + myBit5 = TRUE \t{0}", myBV.ToString() );
      myBV[myBit1 | myBit2] = true;
      Console.WriteLine( "myBit1 | myBit2 = TRUE \t{0}", myBV.ToString() );
   }
}

/*
This code produces the following output.

Initial:                BitVector32{00000000000000000000000000000000}
myBit3 = TRUE           BitVector32{00000000000000000000000000000100}
myBit4 + myBit5 = TRUE  BitVector32{00000000000000000000000000011100}
myBit1 | myBit2 = TRUE  BitVector32{00000000000000000000000000011111}

*/
Imports System.Collections.Specialized


Public Class SamplesBitVector32

   Public Shared Sub Main()

      ' Creates and initializes a BitVector32 with all bit flags set to FALSE.
      Dim myBV As New BitVector32(0)
      
      ' Creates masks to isolate each of the first five bit flags.
      Dim myBit1 As Integer = BitVector32.CreateMask()
      Dim myBit2 As Integer = BitVector32.CreateMask(myBit1)
      Dim myBit3 As Integer = BitVector32.CreateMask(myBit2)
      Dim myBit4 As Integer = BitVector32.CreateMask(myBit3)
      Dim myBit5 As Integer = BitVector32.CreateMask(myBit4)
      Console.WriteLine("Initial:               " + ControlChars.Tab + "{0}", myBV.ToString())
      
      ' Sets the third bit to TRUE.
      myBV(myBit3) = True
      Console.WriteLine("myBit3 = TRUE          " + ControlChars.Tab + "{0}", myBV.ToString())
      
      ' Combines two masks to access multiple bits at a time.
      myBV((myBit4 + myBit5)) = True
      Console.WriteLine("myBit4 + myBit5 = TRUE " + ControlChars.Tab + "{0}", myBV.ToString())
      myBV((myBit1 Or myBit2)) = True
      Console.WriteLine("myBit1 | myBit2 = TRUE " + ControlChars.Tab + "{0}", myBV.ToString())

   End Sub

End Class


' This code produces the following output.
'
' Initial:                BitVector32{00000000000000000000000000000000}
' myBit3 = TRUE           BitVector32{00000000000000000000000000000100}
' myBit4 + myBit5 = TRUE  BitVector32{00000000000000000000000000011100}
' myBit1 | myBit2 = TRUE  BitVector32{00000000000000000000000000011111}

설명

CreateMask()를 사용 하 여 시리즈에서 첫 번째 마스크를 만들고 모든 후속 마스크에 대해 CreateMask(int) 합니다.Use CreateMask() to create the first mask in a series and CreateMask(int) for all subsequent masks.

같은 비트 플래그를 가리키도록 여러 마스크를 만들 수 있습니다.Multiple masks can be created to refer to the same bit flag.

결과 마스크는 BitVector32에서 하나의 비트 플래그만 분리 합니다.The resulting mask isolates only one bit flag in the BitVector32. 비트 OR 연산을 사용 하 여 마스크를 조합 하 여 BitVector32에서 여러 비트 플래그를 격리 하는 마스크를 만들 수 있습니다.You can combine masks using the bitwise OR operation to create a mask that isolates multiple bit flags in the BitVector32.

섹션으로 설정 된 BitVector32에서 마스크를 사용 하면 예기치 않은 결과가 발생할 수 있습니다.Using a mask on a BitVector32 that is set up as sections might cause unexpected results.

이 방법은 O(1) 작업에 설명 합니다.This method is an O(1) operation.

적용 대상