2009年3月28日土曜日20:24:00
デリゲート(非同期)
タグ:
C#
by ゆの
短いから全部のせちゃえ。
プログラム
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace DelegateTestConsoleApplication
{
class Program
{
/// <summary>
/// 現在の繰り返した回数を表示
/// 繰り返すたびにスリープ
/// </summary>
/// <param name="num">繰り返す回数</param>
/// <param name="time">スリープする時間</param>
public delegate void MessageNum( int num, int time );
static void Main(string[] args)
{
const int num = 10;
const int time = 200;
MessageNum mn = ForLoopNumber;
IAsyncResult ar = mn.BeginInvoke(num, time, null, null);
for (int i = 0; i < num; i++)
{
Thread.Sleep(time * 2);
Console.Write("<<{0}>> ", i);
}
mn.EndInvoke(ar);
Console.WriteLine();
mn(num, time);
Console.WriteLine();
}
static void ForLoopNumber( int num, int time )
{
for (int i = 0; i < num; i++)
{
Console.Write("({0}) ", i);
Thread.Sleep(time);
}
}
}
}
出力結果
(0) (1) <<0>> (2) (3) <<1>> (4) (5) <<2>> (6) (7) <<3>> (8) (9) <<4>> <<5>> <<6>> <<7>> <<8>> <<9>> (0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
参考サイト

0 件のコメント:
コメントを投稿