using System.Collections;
using System.Collections.Generic;
public static void Main()
var oldCol = new List<MyCollection> {
new MyCollection{ id = 1, name = "firstOld" },
new MyCollection{ id = 2, name = "secondOld" },
new MyCollection{ id = 3, name = "thirdOld" },
var newCol = new List<MyCollection> {
new MyCollection{ id = 1, name = "firstNew" },
new MyCollection{ id = 3, name = "thirdNew" },
new MyCollection{ id = 4, name = "fourthNew" },
new MyCollection{ id = 5, name = "fifthNew" },
var results = oldCol.ZipLongest(newCol, (oldItem, newItem) => new Tuple<MyCollection, MyCollection>(oldItem, newItem) ).ToList();
var jsonString = JsonConvert.SerializeObject(
results, Formatting.Indented,
Console.Write(jsonString.ToString());
public int id {get; set;}
public string name {get;set;}