c# – 闭包和任务

前端之家收集整理的这篇文章主要介绍了c# – 闭包和任务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这些函数调用之间是否存在任何功能差异.

方法一:

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();
}
原文链接:https://www.f2er.com/csharp/243404.html

猜你在找的C#相关文章