How can i convert Linq var to List

asp.net, c#, linq, list, var

Solution

According to your comments you need single `HyperlinInfo` object for each `Attraction` value (which is string). So, use grouping and `ToList()`:

private List<HyperlinkInfo> GetHyperlinkByCode()
{
        TourInfoBusiness obj = new TourInfoBusiness();
        List<HyperlinkInfo> lst = obj.GetAllHyperlink();
        return lst.GroupBy(x => x.Attraction) // group links by attraction
                  .Select(g => g.First()) // select first link from each group
                  .ToList(); // convert result to list
}

Also you can use morelinq DistinctBy extension (available from NuGet):

private List<HyperlinkInfo> GetHyperlinkByCode()
{
        TourInfoBusiness obj = new TourInfoBusiness();
        List<HyperlinkInfo> lst = obj.GetAllHyperlink();
        return lst.DistinctBy(x => x.Attraction).ToList();
}

Problem

I am trying to convert the Linq var to List.my c# code is ``` private List<HyperlinkInfo> GetHyperlinkByCode() { TourInfoBusiness obj = new TourInfoBusiness(); List<HyperlinkInfo> lst = new List<HyperlinkInfo>(); lst = obj.GetAllHyperlink(); //lst = lst.Select(x => x.Attraction).ToList(); var k = lst.Select(x => x.Attraction).Distinct(); } ``` if you look at the above code till the Line var `k = lst.Select(x => x.Attraction).Distinct();` is ok Now can i convert var k to List.

Original source