LINQ è una delle principali novità del .NET Framework 3.0.
Questa nuova funzionalità permette di eseguire delle query su oggetti e variabili in C#, con una sintassi molto simile all’SQL.
Vediamo un primo esempio di Linq:
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Program program = new Program();
program.LinqTest();
Console.ReadLine();
}
public void LinqTest()
{
int[] height = new int[] { 159, 184, 172, 176, 164, 171, 185 };
IEnumerable<int> greater175 = from h in height
where h > 175
select h;
foreach (int x in greater175)
{
Console.WriteLine(x);
}
}
}
}
Il metodo statico Main crea una nuova istanza del programma e poi lancia il metodo LinqTest().
Nella suddetta funzione viene creato un array di interi chiamato height.
Si arriva, quindi, all’uso del Linq per selezionare tutti i valori maggiori di 175.
Vediamo nel particolare il codice Linq:
from h in height
Stabilisce che la ricerca è tra gli elementi dell’array height.
where h > 175
Indica che devono venire scelti solo gli elementi che hanno un valore maggiore di 175.
select h;
Seleziona appunto tutti gli elementi trovati che rispondono alla clausola where.
Nel codice poi, con un foreach vengono visualizzati tutti i valori trovati:
foreach (int x in greater175)
{
Console.WriteLine(x);
}
Che da come risultato:
184
176
185
Come abbiamo visto, quindi, il Linq di base si fonda su 3 clausole fondamentali: from, where e select.
Usando solo queste cose, infatti, anche se non vengono ancora sfruttate tutte le potenzialità del Linq, si può arrivare a scrivere codici molto più compatti ed efficenti, come quello che abbiamo visto nell’esempio.


