BitVector32.Section 結構

定義

代表可以含有整數數字的向量區段。

C#
public struct BitVector32.Section
C#
public readonly struct BitVector32.Section
C#
public readonly struct BitVector32.Section : IEquatable<System.Collections.Specialized.BitVector32.Section>
繼承
BitVector32.Section
實作

範例

下列程式代碼範例會使用 BitVector32 作為區段的集合。

C#
using System;
using System.Collections.Specialized;

public class SamplesBitVector32  {

   public static void Main()  {

      // Creates and initializes a BitVector32.
      BitVector32 myBV = new BitVector32( 0 );

      // Creates four sections in the BitVector32 with maximum values 6, 3, 1, and 15.
      // mySect3, which uses exactly one bit, can also be used as a bit flag.
      BitVector32.Section mySect1 = BitVector32.CreateSection( 6 );
      BitVector32.Section mySect2 = BitVector32.CreateSection( 3, mySect1 );
      BitVector32.Section mySect3 = BitVector32.CreateSection( 1, mySect2 );
      BitVector32.Section mySect4 = BitVector32.CreateSection( 15, mySect3 );

      // Displays the values of the sections.
      Console.WriteLine( "Initial values:" );
      Console.WriteLine( "\tmySect1: {0}", myBV[mySect1] );
      Console.WriteLine( "\tmySect2: {0}", myBV[mySect2] );
      Console.WriteLine( "\tmySect3: {0}", myBV[mySect3] );
      Console.WriteLine( "\tmySect4: {0}", myBV[mySect4] );

      // Sets each section to a new value and displays the value of the BitVector32 at each step.
      Console.WriteLine( "Changing the values of each section:" );
      Console.WriteLine( "\tInitial:    \t{0}", myBV.ToString() );
      myBV[mySect1] = 5;
      Console.WriteLine( "\tmySect1 = 5:\t{0}", myBV.ToString() );
      myBV[mySect2] = 3;
      Console.WriteLine( "\tmySect2 = 3:\t{0}", myBV.ToString() );
      myBV[mySect3] = 1;
      Console.WriteLine( "\tmySect3 = 1:\t{0}", myBV.ToString() );
      myBV[mySect4] = 9;
      Console.WriteLine( "\tmySect4 = 9:\t{0}", myBV.ToString() );

      // Displays the values of the sections.
      Console.WriteLine( "New values:" );
      Console.WriteLine( "\tmySect1: {0}", myBV[mySect1] );
      Console.WriteLine( "\tmySect2: {0}", myBV[mySect2] );
      Console.WriteLine( "\tmySect3: {0}", myBV[mySect3] );
      Console.WriteLine( "\tmySect4: {0}", myBV[mySect4] );
   }
}

/*
This code produces the following output.

Initial values:
        mySect1: 0
        mySect2: 0
        mySect3: 0
        mySect4: 0
Changing the values of each section:
        Initial:        BitVector32{00000000000000000000000000000000}
        mySect1 = 5:    BitVector32{00000000000000000000000000000101}
        mySect2 = 3:    BitVector32{00000000000000000000000000011101}
        mySect3 = 1:    BitVector32{00000000000000000000000000111101}
        mySect4 = 9:    BitVector32{00000000000000000000001001111101}
New values:
        mySect1: 5
        mySect2: 3
        mySect3: 1
        mySect4: 9

*/

備註

使用 CreateSection 來定義新的區段。 BitVector32.Section是的視窗,BitVector32由可包含 中所CreateSection指定最大值的最小連續位數目所組成。 例如,最大值為1的區段只由一個位組成,而最大值為5的區段則由三位組成。 您可以建立 BitVector32.Section 最大值為 1 的 ,做為布爾值,因此可讓您將整數和布爾值儲存在相同的 BitVector32中。

屬性

Mask

取得在 BitVector32 中隔離這個區段的遮罩。

Offset

取得這個區段從 BitVector32 開頭的位移 (Offset)。

方法

Equals(BitVector32+Section)

判斷指定 BitVector32.Section 物件與目前 BitVector32.Section 物件是否相同。

Equals(Object)

判斷指定物件與目前 BitVector32.Section 物件是否相同。

GetHashCode()

做為目前 BitVector32.Section 的雜湊函式,適用於雜湊演算法與資料結構,例如雜湊表。

ToString()

傳回表示目前 BitVector32.Section 的字串。

ToString(BitVector32+Section)

傳回字串,表示指定的 BitVector32.Section

運算子

Equality(BitVector32+Section, BitVector32+Section)

判斷指定的兩個 BitVector32.Section 物件是否相等。

Inequality(BitVector32+Section, BitVector32+Section)

判斷兩個 BitVector32.Section 物件是否具有不同的值。

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

另請參閱