加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 闭包和任务

发布时间:2020-12-15 08:23:41 所属栏目:百科 来源:网络整理
导读:这些函数调用之间是否存在任何功能差异. 方法一: public static void PrintMe(object obj){ Task task = new Task(() = { Console.WriteLine(obj.ToString()); }); task.Start();} 方法2: public static void PrintMe(object obj){ Task task = new Task((
这些函数调用之间是否存在任何功能差异.

方法一:

public static void PrintMe(object obj)
{
    Task task = new Task(() =>
    {
        Console.WriteLine(obj.ToString());
    });
    task.Start();
}

方法2:

public static void PrintMe(object obj)
{
    Task task = new Task((object arg) =>
    {
        Console.WriteLine(arg.ToString());
    },obj);
    task.Start();
}

解决方法

第一个将变量obj传递给任务.第二个传递obj的值.

要查看差异,请在创建任务后将其他内容分配给obj.

public static void PrintMe(object obj)
{
    Task task = new Task(() =>
    {
        Console.WriteLine(obj.ToString());
    });
    obj = "Surprise";        
    task.Start();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读