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

Classe Buffer

 

Data di pubblicazione: ottobre 2016

Modifica matrici di tipi primitivi.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)


[ComVisibleAttribute(true)]
public static class Buffer

NomeDescrizione
System_CAPS_pubmethodSystem_CAPS_staticBlockCopy(Array, Int32, Array, Int32, Int32)

Copia un numero specifico di byte da una matrice di origine, a partire da un offset particolare, in una matrice di destinazione a partire da un offset particolare.

System_CAPS_pubmethodSystem_CAPS_staticByteLength(Array)

Restituisce il numero di byte nella matrice specificata.

System_CAPS_pubmethodSystem_CAPS_staticGetByte(Array, Int32)

Recupera il byte in una posizione specificata in una determinata matrice.

System_CAPS_pubmethodSystem_CAPS_staticMemoryCopy(Void*, Void*, Int64, Int64)

Copia un numero di byte specificato come valore long integer da un indirizzo all'altro in memoria.

Questa API non è conforme a CLS.

System_CAPS_pubmethodSystem_CAPS_staticMemoryCopy(Void*, Void*, UInt64, UInt64)

Copia un numero di byte specificato come valore long integer senza segno da un indirizzo all'altro in memoria.

Questa API non è conforme a CLS.

System_CAPS_pubmethodSystem_CAPS_staticSetByte(Array, Int32, Byte)

Assegna un valore specificato a un byte in una particolare posizione in una determinata matrice.

Bufferinteressa solo le matrici di tipi primitivi; Questa classe non si applica agli oggetti. Ogni tipo primitivo viene considerato come una serie di byte indipendentemente dalle eventuali comportamenti o limitazione associato al tipo primitivo.

Bufferfornisce metodi per copiare i byte da una matrice di tipi primitivi in un'altra matrice di tipi primitivi, ottenere un byte da una matrice, impostare un byte in una matrice e ottenere la lunghezza della matrice. Questa classe fornisce prestazioni migliori per la modifica dei tipi primitivi rispetto ai metodi simili di System.Array classe.

Bufferis applicable to the following primitive types: Boolean, Char, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, IntPtr, UIntPtr, Single, and Double.

Esempio di codice seguente viene illustrato l'utilizzo di diverse Buffer metodi della classe.

// Example of the Buffer class methods.
using System;

class BufferClassDemo
{
    // Display the array elements from right to left in hexadecimal.
    public static void DisplayArray( short[ ] arr )
    {
        Console.Write( "  arr:" );
        for( int loopX = arr.Length - 1; loopX >= 0; loopX-- )
            Console.Write( " {0:X4}", arr[ loopX ] );
        Console.WriteLine( );
    }

    public static void Main( )
    {
        // This array is to be modified and displayed.
        short[ ] arr = { 258, 259, 260, 261, 262, 263, 264, 
                         265, 266, 267, 268, 269, 270, 271 };

        Console.WriteLine( "This example of the Buffer class " +
            "methods generates the following output.\n" +
            "Note: The array is displayed from right to left.\n" );
        Console.WriteLine( "Initial values of array:\n" );

        // Display the initial array values and ByteLength.
        DisplayArray( arr );
        Console.WriteLine( "\nBuffer.ByteLength( arr ): {0}", 
            Buffer.ByteLength( arr ) );

        // Copy a region of the array; set a byte within the array.
        Console.WriteLine( "\nCall these methods: \n" +
            "  Buffer.BlockCopy( arr, 5, arr, 16, 9 ),\n" +
            "  Buffer.SetByte( arr, 7, 170 ).\n" );

        Buffer.BlockCopy( arr, 5, arr, 16, 9 );
        Buffer.SetByte( arr, 7, 170 );

        // Display the array and a byte within the array.
        Console.WriteLine( "Final values of array:\n" );
        DisplayArray( arr );
        Console.WriteLine( "\nBuffer.GetByte( arr, 26 ): {0}", 
            Buffer.GetByte( arr, 26 ) );
    }
}

/*
This example of the Buffer class methods generates the following output.
Note: The array is displayed from right to left.

Initial values of array:

  arr: 010F 010E 010D 010C 010B 010A 0109 0108 0107 0106 0105 0104 0103 0102

Buffer.ByteLength( arr ): 28

Call these methods:
  Buffer.BlockCopy( arr, 5, arr, 16, 9 ),
  Buffer.SetByte( arr, 7, 170 ).

Final values of array:

  arr: 010F 0101 0801 0701 0601 0501 0109 0108 0107 0106 AA05 0104 0103 0102

Buffer.GetByte( arr, 26 ): 15
*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: