LINQ käytännössä

  • View
    512

  • Download
    6

Embed Size (px)

DESCRIPTION

LINQ käytännössä. Sanko F# -tapahtuman diasarja

Text of LINQ käytännössä

  • 1. LINQ kytnnss
    Teoriassa teoria ja kytnt ovat sama asia, mutta kytnnss ne eivt ole. Paitsi matematiikassa

2. Func
publicintPlusViis(inti){
returni+5;
}
FuncPlusViis=
delegate(inti){returni+5;};
FuncPlusViis=i=>i+5;
3. IEnumerable
4. Ikiluuppi
publicstaticIEnumerable LuonnollisetLuvut() {
inti=0;
while(true){
yieldreturn i++;
}
}
5. Suodatettu
publicstaticIEnumerable Parittomat() {
returnLuonnollisetLuvut().Where(i=>i%2==1);
}
6. Toimii!
staticvoidMain(string[]args)
{
varluvut=Parittomat().Take(5);
//varsuoritettu=luvut.ToList();
foreach(variinluvut)
Console.WriteLine(i);
}
7. Mit on LINQ:nsisll?
publicstaticclassHakuExtension{
publicstaticIEnumerableMiss(
thisIEnumerablelista,Funcehto){
foreach(variinlista){
if (ehto(i)) yieldreturni;
}
}
}
8. Imperatiivinen vs. deklaratiivinen
varresult=newList();
foreach(variinlista){
if(i%2==0){
result.Add(i);
}
}
varresult=
fromiinlista
wherei%2==0
selecti;