天天看點

delegate 與異步調用。。。。。。。。。。。

using System;

public delegate int AsyncMethod(int start,int end);//聲明一個delegate

public class AsyncDemo

{

    public static void Main()

    {

        AsyncMethod async = new AsyncMethod(DoSum);//執行個體化delegate

        IAsyncResult result = async.BeginInvoke(1, 100000);//開始異步調用

        Console.WriteLine("開始工作了。"+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

        int sum = async.EndInvoke(result);//停止結束異步調用

        Console.WriteLine("結果是:" + sum);

        Console.WriteLine("結束工作了。" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

    }

    public static int DoSum(int start, int end)

        int result = 0;

        for (int i = start; i < end; i++)

        {

            result += i;

        }

        return result;

}