Back
Close

Using C# LINQ - A Practical Overview

player_one
69.3K views
Previous: SelectMany Next: Combined Exercise #2

Combined Exercise #1

As we have already seen in some of the examples, LINQ methods can build on each other. Since many LINQ methods return an IEnumerable<T>, subsequent LINQ methods can be called on the results. For example:

IEnumerable<string> values = new List<string> { "fe", "fi", "fo", "fum" };
// Will return 12
int result = values
    .Select(word => $"{word}-{word}") // { "fe-fe", "fi-fi", ... }
    .Skip(2)
    .Select(phrase => phrase.Length)
    .Sum();

In this exercise, combine LINQ method calls together to determine if the second sequence passed into the TestForSquares() method contains the squares of the elements in the first sequence. It should return true if the two sequences have the same number of elements and each element in squares is equal to the square of the corresponding element in numbers.

Combined Exercise 1
using System.Collections.Generic;
using System.Linq;
namespace AllTogether1
{
public class FullExercise1
{
// The following method should return true if each element in the squares sequence
// is equal to the square of the corresponding element in the numbers sequence.
// Try to write the entire method using only LINQ method calls, and without writing
// any loops.
public static bool TestForSquares(IEnumerable<int> numbers, IEnumerable<int> squares)
{
return numbers
// .???().???() ... .???()
;
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants