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; }
}
}
Leave a Reply