Search code examples
c#linqienumerable

Return List<object> from IEnumerable C#


I have a method:

public List<AxeResult> LoadAxes(string kilometriczone, string axe)
{
    IEnumerable<AxeResult> allAxes = PullAxes();
    var findAxes = allAxes.Select(a => a.KilometricZone.StartsWith(kilometriczone) || a.KilometricZone.StartsWith(axe));

    return findAxes.Cast<AxeResult>().ToList();
}

I have this error:

IEnumerable<bool> does not contain a definition for ToList and the best extension method overload Enumerable.ToList<AxeResult> ( IEnumerable<AxeResult>) requires a receptor type IEnumerable<AxeResult>

I want to return a List of AxeResult after the search operation.


Solution

  • What you want is to filter the collection. That's what Enumerable.Where is for:

    public List<AxeResult> LoadAxes(string kilometriczone, string axe)
    {
        return PullAxes()
            .Where(a => a.KilometricZone.StartsWith(kilometriczone) || 
                        a.KilometricZone.StartsWith(axe))
            .ToList();
    }