Condividi tramite


sizeof (Riferimenti per C#)

Utilizzato per ottenere la dimensione in byte di un tipo valore. Ad esempio, la dimensione del tipo int può essere recuperata nel seguente modo:

int intSize = sizeof(int);

Note

L'operatore sizeof può essere applicato solo ai tipi di valore, non ai tipi di riferimento.

Nota

Dalla versione 2.0 di C# in avanti, l'applicazione di sizeof a tipi predefiniti non richiede più l'utilizzo della modalità unsafe.

L'operatore sizeof potrebbe non essere stato sottoposto a overload. I valori restituiti dall'operatore sizeof sono di tipo int. Nella tabella riportata di seguito vengono illustrati i valori costanti che rappresentano le dimensioni di alcuni tipi predefiniti.

Espressione

Risultato

sizeof(sbyte)

1

sizeof(byte)

1

sizeof(short)

2

sizeof(ushort)

2

sizeof(int)

4

sizeof(uint)

4

sizeof(long)

8

sizeof(ulong)

8

sizeof(char)

2 (Unicode)

sizeof(float)

4

sizeof(double)

8

sizeof(bool)

1

Per tutti gli altri tipi, comprese le strutture, l'operatore sizeof può essere utilizzato soltanto in blocchi di codice unsafe. Sebbene sia possibile utilizzare il metodo SizeOf, il valore restituito da questo metodo non corrisponde sempre al valore restituito da sizeof. Marshal.SizeOf restituisce la dimensione dopo che il tipo è stato sottoposto a marshalling, mentre sizeof restituisce la dimensione nel modo in cui è stata allocata da Common Language Runtime, compresa l'eventuale spaziatura interna.

Esempio

// cs_operator_sizeof.cs
// compile with: /unsafe
using System;
class MainClass
{
    unsafe static void Main()
    {
        Console.WriteLine("The size of short is {0}.", sizeof(short));
        Console.WriteLine("The size of int is {0}.", sizeof(int));
        Console.WriteLine("The size of long is {0}.", sizeof(long));
    }
}

Output

The size of short is 2.
The size of int is 4.
The size of long is 8.

Specifiche del linguaggio C#

Per ulteriori informazioni, vedere le sezioni riportate di seguito in Specifiche del linguaggio C#:

  • 18.5.8 Operatore sizeof

Vedere anche

Riferimenti

Parole chiave di C#
Parole chiave per operatori (Riferimenti per C#)

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#