在线程中执行带参数的委托

简单的实例:



    class Program
    {
        static void Main(string[] args)
        {
            #region 在线程中执行带参数的委托
            /*
            //ParameterizedThreadStart是用来指向具有一个参数的委托的
            ParameterizedThreadStart parameterstart = new ParameterizedThreadStart(ShowInfo);
            Thread mythread = new Thread(parameterstart);
            //为方法制定参数
            mythread.Start("张三");*/
            #endregion
           

            #region 如何将多个参数封装成1个参数
            启动一个线程,用来执行ShowUserInfo这个方法
            因为ParameterizedThreadStart委托只能接受一个object类型的参数,而ShowUserInfo方法需要两个参数,所以我们将多个参数封装成了一个对象。
            //ParameterizedThreadStart parameterstart = new ParameterizedThreadStart(ShowUserInfo);
            //Thread mythread = new Thread(parameterstart);
            //Person p = new Person()
            //{
            //    UserName = "张三",
            //    Age=20
            //};
            //mythread.Start(p);
            #endregion

            #region 如何接受在单独线程中执行的委托方法的返回值。

            //int sum=Sum(1,2);
            //Console.WriteLine(sum);
            #endregion

            Console.WriteLine("==========");
            Console.ReadKey();
        }
        static void ShowInfo(object name)
        {
            Console.WriteLine("你好"+name);
        }
        static void ShowUserInfo(object obj)
        {
            Person p = obj as Person;
            Console.WriteLine("{0}的年龄为{1}",p.UserName,p.Age);
        }

        static int Sum(int numb1, int numb2)
        {
            return numb1 + numb2;
        }

      
    }
    class Person
    {
        public string UserName { get; set; }
        public int Age { get; set; }
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿猿网页设计(yywyss365)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值