BitVector32.CreateSection Metod

Definition

Skapar en serie avsnitt som innehåller små heltal.

Överlagringar

Name Description
CreateSection(Int16)

Skapar den första BitVector32.Section i en serie avsnitt som innehåller små heltal.

CreateSection(Int16, BitVector32+Section)

Skapar en ny BitVector32.Section som följer angiven BitVector32.Section i en serie avsnitt som innehåller små heltal.

Exempel

I följande kodexempel används en BitVector32 som en samling avsnitt.

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)

Skapar den första BitVector32.Section i en serie avsnitt som innehåller små heltal.

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

Parametrar

maxValue
Int16

Ett 16-bitars signerat heltal som anger det maximala värdet för den nya BitVector32.Section.

Returer

En BitVector32.Section som kan innehålla ett tal från noll till maxValue.

Undantag

maxValue är mindre än 1.

Kommentarer

A BitVector32.Section är ett fönster i BitVector32 och består av det minsta antalet på varandra följande bitar som kan innehålla det maximala värdet som anges i CreateSection. Ett avsnitt med ett maxvärde på 1 består till exempel bara av en bit, medan ett avsnitt med ett maximalt värde på 5 består av tre bitar. Du kan skapa en BitVector32.Section med ett maximalt värde på 1 för att fungera som ett booleskt värde, så att du kan lagra heltal och booleska värden i samma BitVector32.

Om det redan finns avsnitt i BitVector32, är dessa avsnitt fortfarande tillgängliga. Överlappande avsnitt kan dock orsaka oväntade resultat.

Den här metoden är en O(1)-åtgärd.

Gäller för

CreateSection(Int16, BitVector32+Section)

Skapar en ny BitVector32.Section som följer angiven BitVector32.Section i en serie avsnitt som innehåller små heltal.

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

Parametrar

maxValue
Int16

Ett 16-bitars signerat heltal som anger det maximala värdet för den nya BitVector32.Section.

Returer

En BitVector32.Section som kan innehålla ett tal från noll till maxValue.

Undantag

maxValue är mindre än 1.

previous innehåller den sista biten BitVector32i .

-eller-

maxValue är större än det högsta värdet som kan representeras av antalet bitar efter previous.

Kommentarer

A BitVector32.Section är ett fönster i BitVector32 och består av det minsta antalet på varandra följande bitar som kan innehålla det maximala värdet som anges i CreateSection. Ett avsnitt med ett maxvärde på 1 består till exempel bara av en bit, medan ett avsnitt med ett maximalt värde på 5 består av tre bitar. Du kan skapa en BitVector32.Section med ett maximalt värde på 1 för att fungera som ett booleskt värde, så att du kan lagra heltal och booleska värden i samma BitVector32.

Om avsnitten redan finns efter previous i BitVector32, är dessa avsnitt fortfarande tillgängliga. Överlappande avsnitt kan dock orsaka oväntade resultat.

Den här metoden är en O(1)-åtgärd.

Gäller för