using System.Collections.Generic;
public static class Program
public static void Main(string[] args)
var n1 = new List<int>() { 1, 2, 3, 4 };
var n2 = new List<int>() { 4, 3, 5, 6 };
var n4 = new List<char>() { '1', '2', 'a', 'b', 'c', 'd' };
int maxLength = new[] {n1.Count, n2.Count, n4.Count}.Max();
var n5 = (from i in Enumerable.Range(0, maxLength)
i1 = n1.IndexOrDefault(i),
i2 = n2.IndexOrDefault(i),
i3 = n4.IndexOrDefault(i)
}).AsParallel().ToList();
private static T IndexOrDefault<T>(this IList<T> col, int index)
return index < col.Count ? col[index] : default(T);