私の目標は、LINQライブラリ関数をマスターすることです。C#LINQ、foreachにネストされたいくつかの並列forループを変換する
私の質問は、SelectManyの繰り返しで複数のSelectを呼び出すにはどうすればいいですか?
は、次のコードを考えてみましょう:
foreach(var i in array){
for(int i=0; i<10; i++)
yield return someOtherArray[i];
for(int i=0; i<10; i++)
yield return someOtherArray[i];
}
私はネストされた1つのループとの変換を知って、
return array.SelectMany(x =>
Enumerable.Range(0,10)
.Select(i => someOtherArray[i]));
が、どのように地球上で私はselectManyスコープ内ループのための別の分離された内部に轢きません?私は親配列
foreach(var i in array) {
for(int i=0; i<10; i++)
yield return someOtherArray_A[i];
for(int i=0; i<10; i++)
yield return someOtherArray_B[i];
}
編集ように変化させるための謝罪#2
内側2列上で実行する必要が
編集#1
多くのインプット、私は試している私の本当の問題に近づけるために。
foreach(var j in array) {
for(int i=0; i<20; i++)
yield return someOtherArray_A[i];
for(int i=0; i<10; i++)
yield return someOtherArray_B[i];
}
あなたは '連合(見ていました)'、複数の出力を組み合わせること「選択」? –
「連合」ではなく「連合」 –
このコード全体は私には意味を持たず、コンパイルもしません。あなたは正確に何をしようとしていますか? – user3185569