using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
public static void Main()
List<User> list=new List<User>() {new User() {id=2, name ="Lokesh",did=1}, new User() {id=3, name="Radhe",did=1}, new User() {id=3, name="Avi",did=2}};
List<Dept> data = new List<Dept> { new Dept() {id=1, name ="IT"}, new Dept() {id=2, name ="HR"}, new Dept() {id=3, name ="Loan"} };
var result= (from e in list
join d in data on e.did equals d.id into d2
from d3 in d2.DefaultIfEmpty()
select new {empid=e.id, name=e.name, deptname=d3.name}).ToList();
Console.WriteLine(a.id+" & "+a.name );
public string name {get;set;}
public int did {get;set;}
public string name {get;set;}