CSharp · Console
using System;
using System.Linq;
// Group Peoples list based on Language.
public class Language{
public int LanguageId {get; set;}
public string LanguageName {get; set;}
}
public class Persons{
public int Id {get; set;}
public string Name {get; set;}
public int LanguageId {get; set;}
}
public class Simple {
public static void Main() {
Language[] lang = new Language[]
{
new Language{LanguageId = 1, LanguageName = "Telugu"},
new Language{LanguageId = 2, LanguageName = "Engilsh"},
new Language{LanguageId = 3, LanguageName = "Hindi"}
};
Persons[] persons = new Persons[]
{
new Persons{Id = 1, Name = "Vijay", LanguageId = 1},
new Persons{Id = 2, Name = "Sonia", LanguageId = 2},
new Persons{Id = 3, Name = "Kumar", LanguageId = 2},
new Persons{Id = 4, Name = "Deepika", LanguageId = 1}
};
var personsList = from lan in lang join pr in persons on lan.LanguageId equals pr.LanguageId into ps
select new {Key = lan.LanguageName,
Persons = ps};
foreach(var item in personsList)
{
Console.WriteLine("People who speack {0}", item.Key);
foreach(var li in item.Persons)
{
Console.WriteLine(li.Name);
}
}
}
}