using System.Collections.Generic;
public static void Main()
var listA = new List<Bills>()
new Bills() { Denom = 20, NumberItems = 1}
var listB = new List<Bills>()
new Bills() { Denom = 20, NumberItems = 4},
new Bills() { Denom = 50, NumberItems = 2}
var listC = from b in listB join a in listA on b.Denom equals a.Denom into temp
from t in temp.DefaultIfEmpty()
select new Bills() { Denom = b.Denom, NumberItems = t != null ? b.NumberItems - t.NumberItems : b.NumberItems };