Posts

Er worden posts getoond met het label linq

Linq Zip functie

Met zip functie van Linq kunnen twee lijsten 'geritst' worden. Deze functie werkt als een soort ritsssluiting. Voorbeeld: var letters= new string[] { "A", "B", "C", "D", "E" }; var numbers= new int[] { 1, 2, 3 }; var q = letters.Zip(numbers, (l, n) => l + n.ToString()); foreach (var s in q) Console.WriteLine(s); Als de ene lijst meer items bevat dan de andere lijst, dan wordt uitgegaan van de lijst met de minste items, zoals het voorbeeld laat zien.

Linq Aggregate functie

Met de aggregate linq method wordt een lijst eenmalig van begin tot eind doorlopen. Bij elke iteratie kan een actie worden uitgevoerd en het resultaat van deze actie wordt meegenomen naar de volgende iteratie. Voorbeeld: var nums = new[]{1,2,3,4}; var sum = nums.Aggregate( (a,b) => a + b); Console.WriteLine(sum); // output: 10 (1+2+3+4) Deze code wordt als volgt uitgevoerd: In de eerste iteratie hebben de parameters a en b de waarde 1 en 2. In de body van de aggregate worden deze waarden bij elkaar opgeteld en het resultaat vormt de input voor de volgende iteratie. In de tweede iteratie zijn de waarden voor a en b dan ook 3 en 3. Deze waarden worden weer bij elkaar opgeteld en het resultaat is weer de waarde voor a: 6 en b krijgt de waarde uit de lijst: 4. Dus het resultaat is dan ook 6 + 4 = 10. Een ander voorbeeld is gebruik te maken van een strings: var chars = new []{"a","b","c", "d"}; var csv = chars.Aggregate( (a,b) => a + ...