1 // Compiler options: -langversion:future
3 using System
.Threading
.Tasks
;
4 using System
.Threading
;
8 async Task
<int> Lambda_1 ()
13 Func
<int> f
= () => a
;
14 res
= await Task
.Factory
.StartNew (f
);
21 async Task
<int> Lambda_2 ()
26 Func
<int> f
= () => a
+ res
;
27 res
= await Task
.Factory
.StartNew (f
);
34 async Task
<int> Lambda_3
<T
> ()
39 Func
<int> f
= () => a
;
40 res
= await Task
.Factory
.StartNew (f
);
47 public static int Main ()
49 var t
= new Tester ().Lambda_1 ();
50 if (!Task
.WaitAll (new [] { t }
, 1000))
56 t
= new Tester ().Lambda_2 ();
57 if (!Task
.WaitAll (new [] { t }
, 1000))
63 t
= new Tester ().Lambda_3
<ulong>();
64 if (!Task
.WaitAll (new [] { t }
, 1000))
70 Console
.WriteLine ("ok");