Valore e riferimento; letterali; inferenza con var; const/readonly
Apprenda la differenza tra tipi valore e tipi riferimento, il funzionamento dei letterali e dei suffissi numerici, quando usare var e il ruolo di const e readonly.
Valore e riferimento; letterali; inferenza con var; const/readonly è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 3 lezioni in totale.
Perché i tipi sono importanti
Obiettivo: comprendere la differenza tra tipi valore e tipi riferimento e il comportamento di variabili, valori letterali e costanti nel codice di tutti i giorni.
Valore e riferimento
Tipo valore: copia i dati durante l'assegnazione, ad esempio int, bool e struct. Tipo riferimento: copia un riferimento, come per class, array e string.
- Valore: modifiche locali più sicure
- Riferimento: identità dell'oggetto condivisa
Valori letterali e suffissi
I valori letterali hanno un tipo. Utilizzi i suffissi per maggiore chiarezza: f (float), m (decimal), L (long).
- 3.14f → float
- 10m → decimal (denaro)
- 123L → long
Inferenza con var
var consente al compilatore di dedurre il tipo dall'espressione a destra. Lo utilizzi quando il tipo è ovvio; in caso contrario, lo specifichi esplicitamente.
const e readonly
const: costante determinata in fase di compilazione; readonly: impostato nel costruttore o nella dichiarazione.
- Utilizzi const per valori fissi, ad esempio Pi
- Utilizzi readonly per valori noti durante l'esecuzione
I tipi nella pratica
Osservi in un unico piccolo programma il comportamento di valori e riferimenti, i suffissi numerici, la semplice inferenza con var e l'uso di const/readonly.
using System;
// Value type (struct) copies by value
public struct PointS
{
public int X;
public int Y;
}
// Reference type (class) copies the reference
public class PointC
{
public int X;
public int Y;
}
// Readonly demo class
public class Config
{
public readonly string Name;
public Config(string name)
{
Name = name; // can set here
}
}
public class Program
{
// Compile-time constant
private const double Pi = 3.14159;
public static void Main(string[] args)
{
// 1) Value vs reference
PointS a = new PointS { X = 1, Y = 2 };
PointS b = a; // copy value
b.X = 99;
Console.WriteLine("Value struct a.X = " + a.X); // 1 (unchanged)
Console.WriteLine("Value struct b.X = " + b.X); // 99
PointC ac = new PointC { X = 1, Y = 2 };
PointC bc = ac; // copy reference
bc.X = 77;
Console.WriteLine("Ref class ac.X = " + ac.X); // 77 (same object)
Console.WriteLine("Ref class bc.X = " + bc.X); // 77
// 2) Literals & suffixes
float f = 3.14f;
decimal price = 10m;
long big = 123L;
Console.WriteLine("f=" + f + " price=" + price + " big=" + big);
// 3) var inference (type is obvious)
var sum = a.X + a.Y; // int
Console.WriteLine("sum=" + sum);
// 4) const vs readonly
Config cfg = new Config("Demo");
Console.WriteLine("Pi=" + Pi + " Name=" + cfg.Name);
}
}
Definizione di tipo valore
Riepilogo
Riepilogo: i tipi valore copiano i dati; i tipi riferimento condividono gli oggetti. Utilizzi i suffissi per i valori letterali numerici, var quando il tipo è chiaro e scelga opportunamente tra const e readonly.
Domande Frequenti
La lezione «Valore e riferimento; letterali; inferenza con var; const/readonly» è gratuita?
Sì — il testo completo di «Valore e riferimento; letterali; inferenza con var; const/readonly» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 3 lezioni in totale.
Cosa imparerò in «Valore e riferimento; letterali; inferenza con var; const/readonly»?
Apprenda la differenza tra tipi valore e tipi riferimento, il funzionamento dei letterali e dei suffissi numerici, quando usare var e il ruolo di const e readonly. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C# Academy?
Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.
Quanto tempo richiede la lezione «Valore e riferimento; letterali; inferenza con var; const/readonly»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C# Academy?
Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Valore e riferimento; letterali; inferenza con var; const/readonly
- Operatori ed espressioni: aritmetici, di confronto e logici
- Suffissi nella pratica; casting e conversione; creazione di oggetti in C# 6