Esporta (0) Stampa
Espandi tutto

Struttura Byte

Aggiornamento: novembre 2007

Rappresenta un integer senza segno a 8 bit.

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Byte : IComparable, IFormattable, 
	IConvertible, IComparable<byte>, IEquatable<byte>
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
public final class Byte extends ValueType implements IComparable, 
	IFormattable, IConvertible, IComparable<byte>, IEquatable<byte>
JScript supporta l'utilizzo di strutture ma non la dichiarazione di nuove.

Il tipo di valore Byte rappresenta integer senza segno, con valori compresi tra 0 e 255.

Byte fornisce metodi per confrontare istanze di questo tipo, convertire il valore di un'istanza nella relativa rappresentazione in forma di stringa e convertire la rappresentazione in forma di stringa di un numero in un'istanza di questo tipo.

Per informazioni su come la rappresentazione in forma di stringa dei tipi di valore è controllata dai codici di specifica del formato, vedere Cenni preliminari sulla formattazione.

Questo tipo implementa le interfacce IComparable, IComparable<T>, IFormattable e IConvertible. Utilizzare la classe Convert per le conversioni anziché l'implementazione del membro esplicito dell'interfaccia IConvertible di questo tipo.

Si tratta di un tipo thread-safe. Più thread sono in grado di eseguire contemporaneamente la lettura di un'istanza di questo tipo.

Nell'esempio riportato di seguito viene illustrato l'utilizzo di Byte durante la conversione di una matrice di byte in una stringa di valori esadecimali.

class HexTest
{
    static char[] hexDigits = {
        '0', '1', '2', '3', '4', '5', '6', '7',
        '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

    public static string ToHexString(byte[] bytes) {
        char[] chars = new char[bytes.Length * 2];
        for (int i = 0; i < bytes.Length; i++) {
            int b = bytes[i];
            chars[i * 2] = hexDigits[b >> 4];
            chars[i * 2 + 1] = hexDigits[b & 0xF];
        }
        return new string(chars);
    }

    static void Main() {
        byte[] b = {0x00, 0x12, 0x34, 0x56, 0xAA, 0x55, 0xFF};
        Console.WriteLine(ToHexString(b));
    }
}

/*
This code example produces the following results:

00123456AA55FF

*/


class HexTest
{
    private static char hexDigits[] =  { '0', '1', '2', '3', '4', '5', 
        '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };

    public static String ToHexString(ubyte bytes[])
    {
        char chars[] = new char[bytes.get_Length() * 2];
        for (int i = 0; i < bytes.get_Length(); i++) {
            int b = System.Convert.ToInt32(
                System.Convert.ToString(bytes.get_Item(i)));
            chars.set_Item((i * 2), hexDigits.get_Item(b >> 4));
            chars.set_Item((i * 2 + 1), hexDigits.get_Item(b & 0xF));
        }
        return new String(chars);
    } //ToHexString

    public static void main(String[] args)
    {
        ubyte b[] =  { 0x0, 0x12, 0x34, 0x56, 0xAA, 0x55, 0xFF };
        Console.WriteLine(ToHexString(b));
    } //main
} //HexTest


Tutti i membri di questo tipo sono thread-safe. I membri che sembrano modificare lo stato dell'istanza restituiscono in realtà una nuova istanza inizializzata con il nuovo valore. Come con qualsiasi altro tipo, le operazioni di lettura e scrittura su una variabile condivisa che contiene un'istanza di questo tipo devono essere protette da un blocco per garantire che siano thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile per Smartphone, Windows Mobile per Pocket PC, Xbox 360

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supportato in: 3.5, 2.0, 1.0

XNA Framework

Supportato in: 2.0, 1.0

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft