using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
class Program
{
static void Main()
{
// Return a value type with a lambda expression
Task task1 = Task.Factory.StartNew ( () => 1 );
int i = task1.Result;
// Return a named reference type with a multi-line statement lambda.
Task task2 = Task.Factory.StartNew ( () =>
{
string s = ".NET";
double d = 4.0;
return new Test
{ Name
= s, Number
= d
};
} );
Test test = task2.Result;
// Return an array produced by a PLINQ query
Task task3 = Task.Factory.StartNew ( () =>
{
string path = @"C:\users\public\pictures\";
string[] files = Directory.GetFiles(path);
var result = (from file in files.AsParallel()
let info
= new FileInfo
(file
)
where info.Extension == ".jpg"
select file).ToArray();
return result;
});
foreach (var name in task3.Result)
Console.WriteLine(name);
}
class Test
{
public string Name { get; set; }
public double Number { get; set; }
}
}