APM和计算限制的操作--CLR via c#

来源:互联网 发布:入门钢笔字帖推荐 知乎 编辑:程序博客网 时间:2024/05/02 02:28

计算1到n的数字之和:

static void Main(string[] args)        {            Func<UInt64, UInt64> sumDelegate = Sum;            sumDelegate.BeginInvoke(1000000000,SumIsDone,sumDelegate);            Console.WriteLine("Calculating....");            Console.ReadLine();        }        private static UInt64 Sum(UInt64 n)        {            UInt64 sum = 0;            for (UInt64 i = 0; i < n; i++)            {                checked {                    sum += i;                }                            }            return sum;                       }        private static void SumIsDone(IAsyncResult iar)        {            var sumDelegate = (Func<UInt64, UInt64>)iar.AsyncState;            try            {                Console.WriteLine("Sum's result: "+sumDelegate.EndInvoke(iar));            }            catch (OverflowException)            {                Console.WriteLine("Sum's result is too large to calculate");            }        }


0 0
原创粉丝点击