AntonioPelleriti.it [aka z9]

I code, therefore I am

NAVIGATION - SEARCH

Articolo IoProgrammo: Alla scoperta di C# 6

Su IoProgrammo numero 196 (Marzo/Aprile 2015), trovate un mio articolo dedicato alle novità della prossima versione di C# 6, che vedrà la luce con Visual Studio 2015.

Titolo di copertina:

TUTTE LE NOVITÀ DI C# 6
Scopriamo in dettaglio i vantaggi della nuova versione di C#
Già disponibile in Visual Studio 2015! 

 

 

Alla scoperta di C# 6: l'operatore null conditional

L'operatore Null Conditional

 

L'operatore null-conditional, chiamato anche di null-propagation, che sarà introdotto da C# 6, consente di gestire varie situazioni in cui si rende necessario controllare il fatto che un oggetto sia null, ed evitare di incorrere nelle comuni NullReferenceException, riducendo la quantità di codice ripetitivo da scrivere.
L'operatore ? permette di accedere a membri ed indicizzatori di un oggetto solamente quando l'oggetto stesso non è null, restituendo in caso contrario il valore null. Supponiamo ad esempio di avere una classe Persona così fatta:

 

class Persona
{
     public string Nome{get;set;}
     public Indirizzo IndirizzoPersona{get;set;}
}


Supponiamo di voler ricavare il Nome da un'istanza p della classe e memorizzarlo in una variabile. La prima cosa di cui essere sicuri è che l'istanza stessa sia diversa da null:

string nome=null;
if(p!=null)
    nome=p.Nome;


Il primo utilizzo dell'operatore null conditional, permette di evitare l'if/else:

string nome=p?.Nome;


In tal modo, se p è null, la variabile nome assumerebbe valore null, altrimenti il valore della proprietà Nome.
L'operatore è utilizzabile in maniera molto proficua in congiunziona con l'operatore ?? di null coalescing.
Se volessimo infatti assegnare un valore diverso da null alla variabile nome, potremo scrivere:

string nome=p?.Nome ?? "senza nome"; //se p è null restituisce "senza nome"


Così, se p è null, l'operatore null conditional restituirà valore null, e quindio l'operatore ?? a sua volta restituirà il secondo operando "senzanome".
L'operatore null-conditional è utilizzabile anche con membri indicizzatori, per esempio, supponiamo di voler ricavare il primo carattere del nome dell'istanza p.
Se p è null, l'operatore restituisce null, in caso contrario potrà accedere all'indice zero:

char? primo=p?[0];


Altre caratteristiche dell'operatore Null conditional sono mostrate nella versione completa dell'articolo, pubblicata sul Wiki di MSDN Technet

http://social.technet.microsoft.com/wiki/contents/articles/28821.l-operatore-null-conditional-di-c-6-it-it.aspx

Guest Post su MSDN Italia: Caller Info Attributes in C# 5

Vi segnalo il mio guest post sui blog di MSDN Italia, dedicato ai Caller Info Attributes di C# 5.0,

dal titolo

Ottenere informazioni sul chiamante di un metodo in C# 5

Il link è il seguente: http://blogs.msdn.com/b/italy/archive/2014/11/27/guest-post-ottenere-informazioni-sul-chiamante-di-un-metodo-in-c-5.aspx


Anteprima C# 6, le slide

Vi segnalo che ho pubblicato su slideshare le slide relative alla sessione dedicata alle  Novità di C# 6, tenuta la Microsoft Mobile Camp di Catania, il 13 novembre 2014.

Clicca il seguente link


Articolo su Ioprogrammo: Git, i vantaggi e i trucchi del controllo di versione

Su IoProgrammo numero 194 (Novembre/dicembre), trovate un mio articolo dedicato a Git come sistema di controllo di versione.

Titolo di copertina:

GitHub
  • Chi non sviluppa in compagnia...
    Non sei ancora iscritto a GITHUB? Ti spieghiamo i vantaggi e i trucchi del controllo di versione


Microsoft Mobile Camp: 13 novembre a Catania con OrangeDotNet

Lo usergroup OrangeDotNet in collaborazione con Microsoft, il DMI dell'università di Catania e il WCAP Catania, organizza a Catania il Mobile Camp, due giornate formative gratuite.

Nella prima giornata del 13 novembre conosceremo le novità del mondo .NET che stanno per arrivare nei prossimi mesi e quelle già disponibili per gli sviluppatori.

Personalmente terrò una sessione che mostrerà le novità future di C# 6.0.

Nella giornata del 14 novembre, ospitata dal WCAP Catania ci sarà invece la possibilità di mettere in pratica attraverso un laboratorio di sviluppo libero, le proprie conoscenze.

La registrazione è obbligatoria per entrambe le giornate, e visto che a tre settimane dall'evento le persone registrate sono già tantissime, registratevi subito al seguente link:

 agenda e registrazione

ulteriori informazioni e l'agenda dell'evento sono disponibili qui: http://www.orangedotnet.org/Eventi/Mobile-Camp-2014

 

#6 - ITA | L'operatore ternario di C#

L’unico operatore ternario di C# è l’operatore ? : (detto anche operatore condizionale).
Esso permette di restituire una fra due espressioni, a seconda che una condizione risulti vera o falsa.
Quindi anzichè usare un costrutto if/else del tipo:

string result;
if(cond)
result=op1;
else result = op2;



con l'operatore ternario basta scrivere in una sola riga:

result = cond ? op1 : op2; 



se la condizione cond è true, l'operatore restituisce l'operando op1, altrimenti restituisce op2.

 

questo e altro all'interno di Programmare con C# 5, guida completa

#5 - ITA | Compilazione in linguaggio intermedio IL

Un programma scritto in C#, prima di poter essere eseguito, deve essere convertito in un linguaggio intermedio, chiamato appunto CIL (Common Intermediate Language) o IL (Intermediate Language), indipendente dalla CPU e dal linguaggio stesso (anche Visual Basic verrà convertito nel medesimo IL) che è comprensibile dal CLR.

L’Intermediate language è una sorta di linguaggio macchina, ma di livello molto più alto, in quanto possiede anche caratteristiche di linguaggio orientato agli oggetti, funzioni per l’utilizzo di array e per la gestione degli errori.

Se si vuol visualizzare il codice IL prodotto da un programma C# è possibile utilizzare il disassemblatore ILDasm messo a disposizione degli sviluppatori, basta lanciare da un prompt dei comandi di Visual Studio, il comando ildasm.exe, dandogli in pasto un assembly prodotto da una normale compilazione di un programma C#, per esempio:

c:\il>csc helloworld.cs    
c:\il>ildasm /output=helloworld.il helloworld.exe



Con lo stesso ILDasm, che ha una sua interfaccia grafica, è possibile aprire assembly esistenti e disassemblarli.

questo e altro all'interno di Programmare con C# 5, guida completa

 

 

Libro: Sviluppare universal app per Windows Phone e Windows con XAML e C#

In attesa dell'uscita in libreria, vi segnalo un libro che sarà utilissimo a tutti coloro che vogliono cimentarsi nello sviluppo di applicazioni Universali per Windows e Windows Phone.

Il libro scritto dall'esperto e Microsoft MVP Matteo Pagani si intitola "Sviluppare universal app per Windows Phone e Windows con XAML e C#", consta di ben 608 pagine, ed è edito da LSWR, nella stessa collana di "Programmare con C# 5":

Titolo: Sviluppare universal app per Windows Phone e Windows con XAML e C#

Autore: Matteo Pagani

Editore: LSWR

Uscita: 30 settembre 2014

Collana: Pro DigitalLifeStyle

ISBN-10: 8868950413 ISBN-13: 978-8868950415

 

Per un estratto e l'indice completo potete visitare la pagina

 

ulteriori dettagli o possibilità di ordine/prenotazione su amazon: Sviluppare universal app per Windows Phone e Windows con XAML e C#