Codice unsafe e puntatori (Guida per programmatori C#)
Per garantire la sicurezza e assicurare l'indipendenza dai tipi, per impostazione predefinita in C# non è supportata l'aritmetica dei puntatori.Tuttavia, utilizzando la parola chiave unsafe, è possibile definire un contesto unsafe in cui utilizzare i puntatori.Per ulteriori informazioni sui puntatori, vedere l'argomento Tipi di puntatori.
[!NOTA]
Nell'ambiente Common Language Runtime (CLR) il codice unsafe viene indicato come codice non verificabile.In C# il codice unsafe non è necessariamente pericoloso. Si tratta semplicemente di un codice che non può essere sottoposto a un controllo di sicurezza da parte di CLR.Quest'ultimo, pertanto, eseguirà soltanto codice unsafe contenuto all'interno di un assembly completamente attendibile.Se si utilizza codice unsafe, è responsabilità del programmatore garantire che tale codice non introduca problemi di sicurezza o errori di puntatore.
Cenni preliminari sul codice unsafe
Di seguito sono elencate le proprietà del codice unsafe:
I metodi, i tipi e i blocchi di codice possono essere definiti come unsafe.
In alcuni casi, il codice unsafe può migliorare le prestazioni di un'applicazione grazie alla rimozione dei controlli sui limiti delle matrici.
Il codice unsafe è necessario quando si chiamano funzioni native che richiedono puntatori.
L'utilizzo di codice unsafe introduce problemi di sicurezza e di stabilità.
Per compilare codice unsafe in C#, è necessario compilare l'applicazione con l'opzione /unsafe.
Sezioni correlate
Per ulteriori informazioni, vedere:
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio è la fonte ufficiale per la sintassi e l'utilizzo di C#.