Le novità di C# 3.0

di: Giuseppe Marchi     30 Gennaio 2008

Con l'avvento del .NET Framework 3.5 e di Visual Studio 2008, sono state anche rilasciate le versioni 3.0 di C# e 9.0 di Visual Basic. Molte le novità per entrambi i linguaggi, tutte a supporto della nuova versione del framework ed in particolare di LINQ: il nuovo linguaggio per gestire l'accesso ai dati.

Tutte le novità sono supportate da Visual Studio 2008 con i meccanismi di intellisense, di refactoring, di formattazione del codice e di organizzazione delle dichiarazioni "using", tutti totalmente rivisti ed aggiornati per fornire allo sviluppatore un ambiente integrato e performante per la stesura del codice.

Vediamo in dettaglio le novità introdotte in C# 3.0.

Variabili locali implicite

La possibilità di dichiarare variabili locali implicite è già presente in alcuni linguaggi di programmazione (come JavaScript) e può risultare comoda in quanto permette allo sviluppatore di dichiarare delle variabili senza preoccuparsi di dichiararne il tipo. Sarà poi il compilatore ad assegnare i tipi, desumendolo dal valore che facciamo assumere alle rispettive variabili.

Per dichiarare una variabile locale implicita con C# 3.0, possiamo utilizzare la parola chiave var da inserire nella dichiarazione al posto del tipo.

Variabile locale implicita (di tipo int)

var count = 0;

Utilizzare questo tipo di dichiarazione significa poter lavorare con una variabile senza dover effettuare operazioni di casting o di unboxing, come invece saremmo costretti a fare utilizzando variabili di tipo object.

var count = 0;
object conto = 0; // boxing

int c1 = count;
int c2 = (int)conto; // cast e unboxing

Come mostrato nell'esempio, per ottenere il valore di una variabile di tipo object dobbiamo effettuare un casting, mentre con la variabile implicita non siamo legati da questo tipo di vincolo.

Visual Studio 2008 offre il supporto completo per questa nuova funzionalità, aggiornando l'intellisense in base al tipo di valore assegnato alla nostra variabile locale implicita. Inoltre, utilizzando la keyword default (già presente nelle versioni precedenti del linguaggio), è possibile dichiarare una variabile implicita e valorizzarla con il valore di default del tipo scelto (per gli interi il valore di default è 0, per le stringhe è una stringa vuota, e così via).

var intero = default(int); // vale 0
var stringa = default(string); // vale ""

Oltre ad essere dichiarate implicitamente, questo tipo di variabili possono essere usate solo localmente, all'interno dei metodi e non come parametri.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

20 Febbraio 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto