Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Una panoramica delle specifiche C# 3.0 (4/5)
Scritto da Paolo De Nictolis il 25-01-2007 ore 11:45
Intel Parallel Studio XE
Completiamo questa serie sulla proposta di specifiche C# 3.0 con questo penultimo articolo sui due pezzi forti – legati comunque alle altre innovazioni introdotte –, gli ultimi due paragrafi delle nuove specifiche, le query expressions e gli expression trees.

Come ormai sanno anche i sassi, le prime forniscono una sintassi integrata nel linguaggio per interrogazioni simili a quelle effettuate con linguaggi come SQL o XQuery. E' a dir poco stupefacente vedere delle interrogazioni select con annesse where, orderby e group, dei join e delle assegnazioni con let effettuate direttamente da C#.

E' da notare che, per preservare l'indipendenza dalla fonte dati, C# 3.0 non specifica la semantica di esecuzione di una query expression, ma piuttosto la sua traduzione in un insieme di invocazioni a metodi che seguono il query expression pattern, elencati nel paragrafo 26.7.2 delle specifiche.

Tali metodi possono essere sia di istanza, che di estensione, dell'oggetto interrogato. Questo mapping semantico viene eseguito prima di ogni binding di tipo o risoluzione degli overload, ed alla data il compilatore C# ne garantisce la correttezza sintattica, ma non che produca codice C# semanticamente corretto. Ad una query expression viene applicata una serie di regole di traduzione – elencate, in ordine di precedenza e lungo l'arco di parecchie pagine, nelle specifiche – finchè non è possibile un'ulteriore riduzione. Ulteriori approfondimenti saranno disponibili nel prossimo ed ultimo articolo.
Precedente: Java 6 versione IBM
Successiva: Dekart Private Disk Multifactor, un innovativo software di cifratura (1/2)
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.383 secondi.