3つのネストされたループがあり、それらをlinqで変更したい場合に直面しました。例
foreach(var level1 in listL1.elements) {
foreach(var level2 in level1.elements) {
foreach(var level3 in listL2.elements) {
commonLevelList.Add(new Level()
{
itemFromLevel1 = level1,
itemFromLevel2 = level2,
itemFromLevel3 = level3,
});
}
}
}
それは可能ですか?アドバイスありがとうございます
を回避するforeach
と、パフォーマンスが少し低下し、コードを追跡しにくくなりますが、(おそらく間違った)質問に基づいて、同等のLINQを次に示します。
var ans = listL1.elements.SelectMany(level1 => level1.elements.SelectMany(level2 => listL2.elements.Select(level3 => new Level() { itemFromLevel1 = level1, itemFromLevel2 = level2, itemFromLevel3 = level3}))).ToList();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加