Gå til indholdet

N285C Delegates (List / Lambda)

Du skal skabe en tom konsol app med følgende kode i main:

List<int> a = new List<int>() { 5, 1, 51, 7, 1, 56, 36, 5 };

Dit job er nu at

  • kalde a.FindIndex ved at benytte en lambda metode Find du selv har lavet. Metoden skal returnere true hvis værdien = 51.
  • kalde a.ForEach ved at benytte en lambda metode ListVærdi du selv har lavet. Metoden skal blot udskrive alle værdier med en Console.WriteLine.
Klik for at se et forslag til en løsning
List<int> a = new List<int>() { 5, 1, 51, 7, 1, 56, 36, 5 };
Console.WriteLine();
// Reference
Console.WriteLine(a.FindIndex(FindVærdi));
// Uforkortet lambda 
Console.WriteLine(a.FindIndex((i) => { return i == 51; }));
// Forkortet lambda 
Console.WriteLine(a.FindIndex(i => i == 51));

Console.WriteLine();
// Reference
a.ForEach(ListVærdi);
Console.WriteLine();
// Uforkortet lambda 
a.ForEach(i => { Console.WriteLine(i); });
// Forkortet lambda 
a.ForEach(i => Console.WriteLine(i));
// Endnu nemmere (det er jo en void der tager en int som argument)
a.ForEach(Console.WriteLine);

bool FindVærdi(int i)
{
    return i == 51;
}

void ListVærdi(int i)
{
    Console.WriteLine(i);
}