using System; using System.Linq; using System.Globalization; using System.Collections.Generic; public class Test { public static void Main() { string[] arr1 = { "1155717", "5184305", "2531291", "1676341", "1916805" }; string[] arr2 = { "1155717", "1440230", "2531291", "8178626", "1916805" }; string[] arr3 = { "1155717", "5184305", "4025514", "167634" }; string[][] all = new[] { arr1, arr2, arr3 }; int maxLength = all.Max(arr => arr.Length); string separator = ","; string defaultValue = "N/A"; var csvFields = all.Select(arr => Enumerable.Range(0, maxLength) .Select(i => arr.Length <= i ? defaultValue : arr[i])); var csv = string.Join(Environment.NewLine, csvFields.Select(f => string.Join(separator, f.ToArray())).ToArray()); Console.Write(csv); } }