標籤:blog class code color c int
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
<br> //定義一個委託 public delegate int DoSomething(int count); //BeginInvoke 的回呼函數 private static void Execute(IAsyncResult async) { DoSomething temp = (DoSomething)async.AsyncState; int sum = temp.EndInvoke(async); Console.WriteLine("線程結束:值為" + sum); } /// <summary> /// 判斷輸入的整數是不是素數 /// </summary> /// <param name="candidate">輸入的整數</param> /// <returns>為素數返回true,否則返回false</returns> public static bool IsPrime(int candidate) { bool retVal = true; //使用遞增方式會更有效率, //但是在示範取消功能時,使用遞減的數字會更好。 //for (int i = 2; i < candidate / 2; i++) for (int i = candidate / 2 + 1; i > 1; i--) { if (candidate % i == 0) { retVal = false; break; } } return retVal; } private static int maseggs(int count) { int result = 0; for (int index = 0; index < count; index++) { if (IsPrime(index + 1)) { result++; } } return result; } static void Main(string[] args) { DoSomething hidands = new DoSomething(maseggs); IAsyncResult async = hidands.BeginInvoke(100000, new AsyncCallback(Execute), hidands); //這裡還有100行代碼 Console.WriteLine("訊息擷取成功"); Console.ReadLine(); } |