using System.Collections.Generic;
using System.Threading.Tasks;
static void Main(string[] args)
List<object> input = new List<object> {
List<object> output = FlattenArray(input);
foreach (var item in output)
Console.WriteLine(item.ToString());
private static List<object> FlattenArray(IEnumerable<object> input)
return input.Select(x => x is object[] array ? FlattenArray(array) : x).ToList();