using System.Collections.Generic;
public static void Main()
var abc = new List<string>{"a", "b", "c"};
var xyz = new List<string>{"x", "y", "z"};
var braidedArray = BraidArrays(new List<List<string>>{abc, xyz});
Console.WriteLine(string.Join(",", braidedArray));
private static List<T> BraidArrays<T>(List<List<T>> lists)
var braided = new List<T>{};
var longestListLength = lists.Select(x => x.Count).Max();
for (var i = 0; i < longestListLength; i++)
foreach (var list in lists)
if (list.ElementAtOrDefault(i) != null)