[C# Story] – L’operatore AS

Inizio oggi questa serie che, per motivi di studio e di cambio linguaggio, mi porta a prendere nota di alcune caratteristiche specifiche del linguaggio C#, nella fattispecie nella sua versione 3.0.

Alcuni snippet della serie ovviamente saranno validi anche e soprattutto per la versione precedente, la 2.0.

Come specificato su Msdn :

L'operatore as è utilizzato per eseguire conversioni

tra tipi di riferimento compatibili

Nella sezione Note viene correttamente spiegato meglio perchè preferire questo tipo di conversione: L’operatore as è simile a un’operazione cast.
Se tuttavia la conversione non è possibile, as restituisce null (Nothing in Visual Basic) anziché generare un’eccezione.
In termini più formali, un’espressione con il seguente formato:

expression as type

equivale a :

 expression is type ? (type)expression : (type)null

con la differenza che expression viene valutato solo una volta.
È possibile utilizzare l’operatore as soltanto con le conversioni di riferimento e le conversioni boxing , mentre as non può eseguire altre conversioni,
come quelle definite dall’utente, che devono invece essere eseguite tramite le espressioni cast.

~ di pythonyan su 8 Gennaio 2008.

Lascia un commento