LINQLanguage Integrated Query (LINQ, si pronuncia "link") è un componente del .NET Framework di Microsoft che aggiunge funzionalità di interrogazione ai linguaggi .NET utilizzando una sintassi simile a SQL. LINQ è stato distribuito come componente del .NET Framework 3.5 il 19 novembre 2007. LINQ estende il linguaggio con l'aggiunta di query expression, simili a dichiarazioni SQL, che possono essere utilizzate per estrarre e processare dati da array, classi enumerabili, documenti XML, database relazionali e sorgenti dati di terze parti. Segue un breve esempio sull'uso di LINQ scritto in C#: int SomeValue = 5;
var results = from c in SomeCollection
let x = SomeValue * 2
where c.SomeProperty < x
select new {c.SomeProperty, c.OtherProperty};
foreach (var result in results)
Console.WriteLine(result);
ArchitetturaStandard Query OperatorLINQ definisce parole riservate e metodi che prendono il nome di Standard Query Operator. Le parole riservate vengono tradotte dal compilatore nelle chiamate ai metodi equivalenti. Per i metodi che non hanno una parola riservata equivalente, si utilizza la sintassi del metodo. Language extensionsLINQ definisce diverse estensioni di linguaggio che forniscono zucchero sintattico per la scrittura di query. Di seguito le principali estensioni. Query SyntaxUn linguaggio è libero di scegliere una sintassi per le query che verrà riconosciuto nativamente. Queste parole chiave del linguaggio devono essere tradotte dal compilatore in chiamate ai metodi LINQ appropriati. Variabili con tipizzazione implicitaQuesta estensione consente di dichiarare variabili senza specificarne i tipi. I linguaggi C# 3.0 e Oxygene le dichiarano con la parola chiave Tipi anonimiI tipi anonimi offrono un modo pratico per incapsulare un set di proprietà di sola lettura in un singolo oggetto, senza dover definire prima un tipo in modo esplicito. Questo è utile per gli operatori Inizializzatori di oggettiGli inizializzatori di oggetti permettono di creare e inizializzare un oggetto in un unico ambito, come richiesto dagli operatori Espressioni lambdaLe espressioni lambda consentono di scrivere predicati e altre funzioni di proiezione inline con una sintassi concisa e supportano la chiusura lessicale completa. Voci correlateCollegamenti esterni
|