SelectMany Example in LINQ and C#

Below is a sample source code demonstrating the usage of the SelectMany method in LINQ and C#. One of the usage of the SelectMany is to return the flat list an avoid returning the lists of lists.

SelectMany Example in LINQ and C#

using System;

using System.Collections.Generic;

using System.Data;

using System.Linq;

namespace AbundantCode

{

internal class Program

{

//SelectMany Example in LINQ and C#

private static void Main(string[] args)

{

List<CodeSnippet> snippets = new List<CodeSnippet>()

{

new CodeSnippet { Code = "1" , Name = "Abundantcode1"},

new CodeSnippet { Code = "2" , Name = "Abundantcode2"},

new CodeSnippet { Code = "3" , Name = "Abundantcode1"},

new CodeSnippet { Code = "4" , Name = "Abundantcode2"},

new CodeSnippet { Code = "5" , Name = "Abundantcode4"}

};

List<Language> languages = new List<Language>()

{

new Language { SampleSnippet = snippets.Where(a=>a.Name=="Abundantcode1").ToList()},

new Language { SampleSnippet = snippets.Where(a=>a.Name=="Abundantcode2").ToList()}

};

IEnumerable<CodeSnippet> CodeSnippets = languages.SelectMany(p => p.SampleSnippet);

foreach (var item in CodeSnippets)

Console.WriteLine(item.Name);

Console.ReadLine();

}

}

public class CodeSnippet

{

public string Name { get; set; }

public string Code { get; set; }

}

public class Language

{

public List<CodeSnippet> SampleSnippet { get; set; }

}

}
SelectMany Example in LINQ and C#