Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo BitVector32.CreateSection (Int16, BitVector32.Section)

 

Data di pubblicazione: ottobre 2016

Crea un nuovo BitVector32.Section successiva a quella specificata BitVector32.Section in una serie di sezioni che contengono small integer.

Spazio dei nomi:   System.Collections.Specialized
Assembly:  System (in System.dll)

public static BitVector32.Section CreateSection(
	short maxValue,
	BitVector32.Section previous
)

Parametri

maxValue
Type: System.Int16

Intero con segno a 16 bit che specifica il valore massimo per il nuovo BitVector32.Section.

previous
Type: System.Collections.Specialized.BitVector32.Section

Il precedente BitVector32.Section nel BitVector32.

Valore restituito

Type: System.Collections.Specialized.BitVector32.Section

Oggetto BitVector32.Section che può contenere un numero compreso tra zero e maxValue.

Exception Condition
ArgumentException

maxValue è minore di 1.

InvalidOperationException

previous include il bit finale di BitVector32.

-oppure-

maxValue è maggiore del valore massimo che può essere rappresentato dal numero di bit dopo previous.

Oggetto BitVector32.Section è una finestra all'interno di BitVector32 ed è composto il minor numero di bit consecutivi che può contenere il valore massimo specificato nella CreateSection. Ad esempio, una sezione con un valore massimo pari a 1 è composta da un solo bit, mentre una sezione con un valore massimo di 5 è composta da tre bit. È possibile creare un BitVector32.Section con un valore massimo pari a 1 per essere utilizzato come un valore booleano, consentendo di archiviare valori integer e Boolean nella stessa BitVector32.

Se dopo aver già presenti sezioni previous nel BitVector32, tali sezioni sono comunque accessibili; tuttavia, la sovrapposizione delle sezioni potrebbero produrre risultati imprevisti.

Questo metodo è un'operazione o (1).

Nell'esempio di codice viene illustrato come utilizzare un BitVector32 come una raccolta di sezioni.

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

*/

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: