Esistono due tipi generici in C#.
1) Tipi di riferimento
2) Tipi di valori
Il tipo di riferimento di valore e il tipo di riferimento di classe.
I tipi di riferimento di valore, come interi, booleani e caratteri, vengono archiviati nello stack della memoria e contengono i valori direttamente.
I tipi di riferimento di classe, come gli oggetti, vengono invece archiviati nella memoria heap e contengono riferimenti ai valori.
Le variabili dei tipi di riferimento, archiviano i riferimenti ai relativi dati (oggetti), mentre le variabili dei tipi di valore
contengono direttamente i dati.
Con i tipi di riferimento, due variabili possono fare riferimento allo stesso oggetto.
Di conseguenza le operazioni su una variabile possono influire sull'oggetto a cui fà riferimento l'altra variabile.
Con i tipi di valore, ogni variabile ha una propria copia dei dati e non è possibile che le operazioni su una variabile influiscono sull'altra.
Tranne in alcuni casi dove nel parametro ci sai out e ref.
Le seguenti parole chiave, vengono definite per dichiarare i Tipi di riferimento.
Tipi di riferimento predefiniti
Le parole chiavi invece sono indentificatori riservati prefediniti che hanno significati particolari per il compilatore e non possono essere
usati come identificatori nel programma a meno che non includano il prefisso @.
Ad esempio @if
è un identificatore valido mentre if non lo è perché if è una parola chiave.
Nella prima tabella di questo argomento vengono elencate le parole chiavi che sono identificatori riservati in qualsiasi parte di un programma.
Nella seconda tabella invece vengono elencate le parole chiavi contestuali.
Le parole chiavi contestuali hanno un significato speciale. Vengono aggiunte come parole chiave per evitare problemi con programmi scritti in versioni precendenti.
Parole chiave contestuali
Una parola chiave contestuale viene usare per conferire un significato nel codice.
Ma non è una parola riservata. Alcune parole chiavi contestuali sono ad esempio partial e where ed hanno dei significati speciali
in due o più contesti che successivamente tratteremo.
A proposito dell'autore
VB.NET, C#, C++, PHP, MySQL, Javascript , LUA,Infarinatura di Python e Ruby, Grafica Vettoriale (Esperto di CorelDraw)
DirectX 9 e XNA Game Studio, Silverlight, jquery, Autoit e Android.
Esperto in Unity e Buona conoscenza di Blender.
Esperto C# UI Designer
Ottima conoscenza sulle tecnologie PBR.
Assembly? Sto imparando...