:ここから引数は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式は、カスタム構造体 "IndexedWord"のインスタンスを返します。式のパラメータは、wordToTest [] arrayから引数の値を受け取ります。たとえば、パラメータ "word"に値 "word1"が渡された場合、パラメータ "index"はwordToTest []配列の対応する "word1"のインデックス位置に渡されます。私は、クエリーのどの時点で(内部的にも)クエリーの抽出とラムダ式への引数の引き渡しが正確に理解できません。 wordsToTest []配列のデータとそのインデックス位置はどのように抽出され、lamba式のパラメータに渡されますか?この抽出の原因は何ですか?親切にこれを明らかにする。ありがとうございました。
ありがとうございます。あなたの答えに基づいて、私は上記の疑問を解決することができました。 –