using System.Threading.Tasks;
using System.Collections.Generic;
public static void Main()
var source = new List<int>{ 1, 2, 3, 4, 5 };
var source2 = new List<int>();
var tasks = source.Select(x => Task.Run(() => Console.WriteLine(x)));
var tasks2 = source2.Select(x => Task.Run(() => Console.WriteLine(x)));
var res = Extensions.Append<Task>(tasks, tasks2);
Console.WriteLine("Total tasks:" + res.Count());
Task.WaitAll(res.ToArray());
Console.WriteLine("Done");
public static class Extensions
public static IEnumerable<T> Append<T>(IEnumerable<T> source, IEnumerable<T> items)
source.ToList().AddRange(items);