AntonioPelleriti.it [aka z9]

I code, therefore I am

NAVIGATION - SEARCH

Articolo IoProgrammo 203: le .NET Scripting API di Roslyn

Su IoProgrammo numero 203(Maggio/Giugno 2016), trovate un mio articolo dedicato a Roslyn ed in particolare alle Scripting API, con un esempio per  creare un piccolo esempio di REPL (Read Eval Print Loop)

Titolo di copertina:

  • SISTEMA
  • Metti un compilatore nella tua app
  • Scopriamo l'incredibile potenza delle Scripting API di .NET

 

 

 

Programmare con C# 6: in arrivo

Finita la seconda rilettura delle bozze, iniziatala la fase di impaginazione e di impostazione grafica, non manca molto all'uscita in libreria di

Programmare con C# 6, guida completa

Non ho ancora una data di uscita certa, o altri dettagli, come il numero di pagine definitivo, o se qualche capitolo verrà escluso (e magari rilasciato su questo sito in pdf!).

Il libro copretutte le novità introdotte da C# 6, in modo completo ed in modo da rendere il testo il riferimento principale in lingua italiana sul linguaggio C#: l'obiettivo, come per la prima edizione, è stato quello di scrivere il miglior libro italiano su C# 6 (scusate la presuzione!).

Nell'attesa di aggiornarvi con maggiori dettagli di seguito l'elenco degli argomenti che è quasi definitivo.

  • 1. C# e la piattaforma .NET
  • 2. Concetti di base di C#
  • 3 Tipi e oggetti
  • 4 Espressioni e operatori
  • 5 Controllo di flusso
  • 6 Programmazione a oggetti in C#
  • 7 Ereditarietà e polimorfismo
  • 8 Gestione delle eccezioni
  • 9 Tipi generici e collezioni
  • 10 Delegate ed eventi
  • 11 LINQ
  • 12 Multithreading, Programmazione asincrona e parallela
  • 13 XML in C#
  • 14 Reflection, attributi e programmazione dinamica
  • 15 Accesso ai dati
  • 16 .NET Compiler Platform
  • 17 Applicazioni pratiche di C#
  • App. A Stringhe ed espressioni regolari
  • App. B Interoperabilità
  • App. C Risposte alle domande

Noterete la presenza di un nuovo capitolo, il 16, dedicato interamente ad una delle principali nuove funzionalità o caratteristiche di .NET e C# 6: cioè la .NET Compiler Platform, ed inoltre una appendice con le risposte alle domande poste alla fine di ogni capitolo.

 

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

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