2012-02-22 3 views
6

기능 호출과 기능상의 차이점은 무엇입니까?마무리 및 작업

방법 항목 :

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(); 
} 

답변

9

첫 번째 태스크에 obj에 변수를 전달한다. 두 번째 것은 obj 값을 전달합니다.

차이점을 확인하려면 작업을 만든 후 obj에 다른 것을 할당하십시오.

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