BitVector32.CreateSection Yöntem

Tanım

Küçük tamsayılar içeren bir dizi bölüm oluşturur.

Aşırı Yüklemeler

Name Description
CreateSection(Int16)

Küçük tamsayılar içeren bir dizi bölümde ilki BitVector32.Section oluşturur.

CreateSection(Int16, BitVector32+Section)

Küçük tamsayılar içeren bir dizi bölümde belirtilenden BitVector32.Section sonra yeni BitVector32.Section bir oluşturur.

Örnekler

Aşağıdaki kod örneği, BitVector32 bir bölüm koleksiyonu olarak kullanır.

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

*/
Imports System.Collections.Specialized

Public Class SamplesBitVector32
   
   Public Shared Sub Main()
      
      ' Creates and initializes a BitVector32.
      Dim myBV As 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.
      Dim mySect1 As BitVector32.Section = BitVector32.CreateSection(6)
      Dim mySect2 As BitVector32.Section = BitVector32.CreateSection(3, mySect1)
      Dim mySect3 As BitVector32.Section = BitVector32.CreateSection(1, mySect2)
      Dim mySect4 As BitVector32.Section = BitVector32.CreateSection(15, mySect3)
      
      ' Displays the values of the sections.
      Console.WriteLine("Initial values:")
      Console.WriteLine(ControlChars.Tab + "mySect1: {0}", myBV(mySect1))
      Console.WriteLine(ControlChars.Tab + "mySect2: {0}", myBV(mySect2))
      Console.WriteLine(ControlChars.Tab + "mySect3: {0}", myBV(mySect3))
      Console.WriteLine(ControlChars.Tab + "mySect4: {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(ControlChars.Tab + "Initial:    " + ControlChars.Tab + "{0}", myBV.ToString())
      myBV(mySect1) = 5
      Console.WriteLine(ControlChars.Tab + "mySect1 = 5:" + ControlChars.Tab + "{0}", myBV.ToString())
      myBV(mySect2) = 3
      Console.WriteLine(ControlChars.Tab + "mySect2 = 3:" + ControlChars.Tab + "{0}", myBV.ToString())
      myBV(mySect3) = 1
      Console.WriteLine(ControlChars.Tab + "mySect3 = 1:" + ControlChars.Tab + "{0}", myBV.ToString())
      myBV(mySect4) = 9
      Console.WriteLine(ControlChars.Tab + "mySect4 = 9:" + ControlChars.Tab + "{0}", myBV.ToString())
      
      ' Displays the values of the sections.
      Console.WriteLine("New values:")
      Console.WriteLine(ControlChars.Tab + "mySect1: {0}", myBV(mySect1))
      Console.WriteLine(ControlChars.Tab + "mySect2: {0}", myBV(mySect2))
      Console.WriteLine(ControlChars.Tab + "mySect3: {0}", myBV(mySect3))
      Console.WriteLine(ControlChars.Tab + "mySect4: {0}", myBV(mySect4))

   End Sub

End Class


' 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(Int16)

Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs

Küçük tamsayılar içeren bir dizi bölümde ilki BitVector32.Section oluşturur.

public:
 static System::Collections::Specialized::BitVector32::Section CreateSection(short maxValue);
public static System.Collections.Specialized.BitVector32.Section CreateSection(short maxValue);
static member CreateSection : int16 -> System.Collections.Specialized.BitVector32.Section
Public Shared Function CreateSection (maxValue As Short) As BitVector32.Section

Parametreler

maxValue
Int16

Yeni BitVector32.Sectioniçin en yüksek değeri belirten 16 bit imzalı tamsayı.

Döndürülenler

Sıfırdan BitVector32.SectionmaxValueöğesine kadar bir sayıyı tutabilen bir.

Özel durumlar

maxValue 1'den küçüktür.

Açıklamalar

A BitVector32.Section , içinde BitVector32 bir penceredir ve içinde CreateSectionbelirtilen en yüksek değeri içerebilen en az sayıda ardışık bitden oluşur. Örneğin, en yüksek değeri 1 olan bir bölüm yalnızca bir bit, en fazla 5 değerine sahip bir bölüm ise üç bit oluşur. Boole değeri olarak görev yapmak için en fazla 1 değerine sahip bir BitVector32.Section oluşturabilir ve böylece tamsayıları ve Boole değerlerini aynı BitVector32içinde depolamanıza olanak sağlayabilirsiniz.

bölümünde BitVector32bölümler zaten varsa, bu bölümler hala erişilebilir durumdadır; ancak çakışan bölümler beklenmeyen sonuçlara neden olabilir.

Bu yöntem bir O(1) işlemidir.

Şunlara uygulanır

CreateSection(Int16, BitVector32+Section)

Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs

Küçük tamsayılar içeren bir dizi bölümde belirtilenden BitVector32.Section sonra yeni BitVector32.Section bir oluşturur.

public:
 static System::Collections::Specialized::BitVector32::Section CreateSection(short maxValue, System::Collections::Specialized::BitVector32::Section previous);
public static System.Collections.Specialized.BitVector32.Section CreateSection(short maxValue, System.Collections.Specialized.BitVector32.Section previous);
static member CreateSection : int16 * System.Collections.Specialized.BitVector32.Section -> System.Collections.Specialized.BitVector32.Section
Public Shared Function CreateSection (maxValue As Short, previous As BitVector32.Section) As BitVector32.Section

Parametreler

maxValue
Int16

Yeni BitVector32.Sectioniçin en yüksek değeri belirten 16 bit imzalı tamsayı.

Döndürülenler

Sıfırdan BitVector32.SectionmaxValueöğesine kadar bir sayıyı tutabilen bir.

Özel durumlar

maxValue 1'den küçüktür.

previous içindeki son biti BitVector32içerir.

-veya-

maxValue , sonrasındaki previousbit sayısıyla temsil edilebilecek en yüksek değerden büyüktür.

Açıklamalar

A BitVector32.Section , içinde BitVector32 bir penceredir ve içinde CreateSectionbelirtilen en yüksek değeri içerebilen en az sayıda ardışık bitden oluşur. Örneğin, en yüksek değeri 1 olan bir bölüm yalnızca bir bit, en fazla 5 değerine sahip bir bölüm ise üç bit oluşur. Boole değeri olarak görev yapmak için en fazla 1 değerine sahip bir BitVector32.Section oluşturabilir ve böylece tamsayıları ve Boole değerlerini aynı BitVector32içinde depolamanıza olanak sağlayabilirsiniz.

bölümünden previoussonra BitVector32 bölümler zaten varsa, bu bölümler hala erişilebilir durumdadır; ancak çakışan bölümler beklenmeyen sonuçlara neden olabilir.

Bu yöntem bir O(1) işlemidir.

Şunlara uygulanır