C# 一个小代码的疑问,大侠解释下吧

    delegate void CallBack(ref int result);
    class Program
    {
        public
        static void Main(string[] args)
        {

            int restut = -1;
            CallBack cb = new CallBack(Call);
            cb.BeginInvoke(ref restut, null, null);//异步
            while (restut != 0)
            {
              Thread.Sleep(200);
            }
            Console.Read();
        }
        public static  void Call(ref int res)
        {
            Thread.Sleep(500);
            res = 0;//修改成0,但是主函数Main中的result还是-1,这是为什么呢,不是使用了ref吗
            //有大侠能在这里详细解释下吗,最后从堆栈的角度来分析
                   
            Console.WriteLine(res);
         
        }
    }
    

原文地址:https://www.cnblogs.com/qianyz/p/2181258.html