:여기서 인수는 PLINQ 내에서 사용되는 람다 식의 매개 변수로 전달됩니까? 나는 아래의 C# 코드로 일하고
//Custom structure
struct IndexedWord
{
public string Word;
public int Index;
}
static void Main(string[] args)
{
string[] wordsToTest = {"word1", "word2"};
var query = wordsToTest
.AsParallel()
.Select((word, index) =>
new IndexedWord {Word = word, Index = index});
foreach(var structs in query)
{
Console.WriteLine("{0},{1}", structs.Word,structs.Index);
}
Console.WriteLine();
Console.ReadKey();
}
// 출력 word1,0 word2,1
질문 : 코드 위는 잘 작동합니다. 코드를 실행하면 "Select"쿼리 연산자 내의 lamba식이 사용자 지정 struct "IndexedWord"의 인스턴스를 반환합니다. 표현식의 매개 변수는 wordToTest [] 배열에서 인수 값을받습니다. 예를 들어, "word"매개 변수에 "word1"값이 전달되면 "index"매개 변수에 wordToTest [] 배열의 "word1"에 해당하는 인덱스 위치가 전달됩니다. Im은 질의의 어느 지점에서 (내부적으로도) 람다 표현에 대한 인수의 추출과 전달이 정확히 발생 하는지를 이해할 수 없다. wordsToTest [] 배열의 데이터와 인덱스 위치는 어떻게 추출되어 lamba 표현식의 매개 변수로 전달됩니까? 이 추출의 원인은 무엇입니까? 이 사실을 분명히 밝힙니다. 고맙습니다.
고맙습니다. 당신의 대답을 바탕으로, 나는 위의 의심을 해결할 수있었습니다. –