LINQ

Etter å ha brukt noen timer på LINQ de siste dagene viser det seg at dette er utrolig enkelt å komme i gang med – tross alle kilder som sier det motsatte.

Antagelig er det fordi jeg tidligere har jobbet mye med SQL og databaser.


Et svært konkret og enkelt eksempel:

string[] tekst = { "Dette", "er", "en", "test!" };
var ordFraTekstMedBokstavenT = from ord in tekst where ord.Contains("t") select ord;

Her henter man ut alle ord som inneholder bokstaven t.

Disse kan man enkelt ta i bruk for videre bruk:

foreach (var ord in tekst) Console.Write(ord + " "); 

Som dermed skriver ut Dette test!.


Man kan selvsagt behandle andre ting enn bare tekst også:

Bil[] mineBiler = new Bil[]
{
   new Bil("Toyota", "Corolla", 1993),
   new Bil("Toyota", "Corolla Verso", 2003),
};
var bilNyereEnn2000 = from bil in mineBiler where bil.Årgang > 2000 select bil;
Console.Write("Biler fra år 2000 eller senere: ");
foreach (var bil in bilNyereEnn2000) Console.Write(bil);

Her blir resultatet Biler fra år 2000 eller senere: Toyota Corolla Verso 2003.

(Her har klassen Bil en «overloaded» ToString() som forenkler utskrifter.)


TBC

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.