using System.Threading.Tasks;
public static void Main()
var t1 = new Task<Tuple<int, int>>(TaskWithResult, Tuple.Create<int, int>(22, 3));
Console.WriteLine(t1.Result);
Console.WriteLine("result from task: {0} {1}", t1.Result.Item1, t1.Result.Item2);
static Tuple<int, int> TaskWithResult(object division)
Tuple<int, int> div = (Tuple<int, int>)division;
int result = div.Item1 / div.Item2;
int reminder = div.Item1 % div.Item2;
Console.WriteLine("task creates a result...");
return Tuple.Create<int, int>(result, reminder);