using System.Collections.Generic;
public static void Main()
var data = new List<Info>();
data.Add(new Info() { CaseNum = "123", IsFile = "Yes" });
data.Add(new Info() { CaseNum = "222", IsFile = "Yes" });
data.Add(new Info() { CaseNum = "345", IsFile = "No" });
var moreData = new List<Info>();
moreData.Add(new Info() { CaseNum = "123", FilePath = "aaaa" });
moreData.Add(new Info() { CaseNum = "222", FilePath = "bbbb" });
join md in moreData on d.CaseNum equals md.CaseNum into ps
from md in ps.DefaultIfEmpty()
select new Info { CaseNum = d.CaseNum, FilePath = md == null ? "" : md.FilePath, IsFile = d.IsFile };
foreach (var j in a.ToList()) {
Console.WriteLine(string.Format("{0},{1},{2}", j.CaseNum, j.IsFile, j.FilePath));
public string CaseNum {get; set;}
public string IsFile {get;set;}
public string FilePath {get;set;}