2つの変数ILookupがあります。私はUnionやConcatを使って値を結合し、その結果を同じ型の第3の変数に代入したいと思っていました。 UnionとConcatの両方がIGroupingを返します。 IGroupingをILookupに変換するのは簡単ではありませんが、私はできません! :-(IGroupingはKeyだけを公開しているので、Lookupの2番目のパラメータに苦労しています....どんな助けも大いにありがとうございます。LINQ IGroupingからLookupへの変換
8
A
答えて
9
私は、まずシーケンスを平坦化して使用する必要があると思いますToLookup
:
SelectMany
の形式使用
var lookup = first.Concat(second)
.SelectMany(group => group,
(group, item) => new { Key = group.Key,
Item = item })
.ToLookup(x => x.Key, x => x.Item);
一コレクションに元の配列内のアイテムを変換する、別の元のコレクション内のアイテム(すなわちグループ)を取ると返されたコレクション内のアイテム(つまり、そのグループのキーと一致するアイテム)を使用して、結果アイテムに到達することができます。これは、キーを使用してアイテムのシーケンスにグループ化をフラット化する最も簡単な方法です。
上記はテストされていないため、完全に間違っている可能性があります。それはまた比較的非効率的です... Lookup
のインスタンスを直接構築する方法がないことは残念です。もちろん、自分でILookup
を実装することもできます。
関連する問題
- 1. LinqのC#からVBへの変換:
- 2. LINQからintへの変換
- 3. SQLからLinq to Entitiesへの変換
- 4. SQLクエリからLINQへの変換
- 5. SQLからLINQへの変換
- 6. SQLからLINQへの変換
- 7. LINQからSQLへの変換機能
- 8. XMLへの別のLINQ(C#からVB.NETへの変換)
- 9. エンティティへのLinqのIGroupingインデックスを取得するには? (NotSupportedException)
- 10. EntityからLinqへのクエリ構文からメソッド構文への変換?
- 11. リボングループへのIGroupingのバインド
- 12. LinqからSQLへのDatetime.ToString()のデフォルトの変換値をオーバーライド
- 13. Linq:空のIGroupingを作成する
- 14. T-SQLからLinqへ:グループ内でのDATTYPEの変換
- 15. 最初のSQLからLinqへの変換
- 16. LINQでIEnumerableからHashSetへの変換を最適化する
- 17. Entity FrameworkメタデータLINQ(C#からVB.NETへの変換)
- 18. Linq - フラットから階層への変換方法?
- 19. Linqクエリ構文からメソッド構文への変換
- 20. linq to xml(C#からvb.netへの変換)
- 21. IGroupingのキーを交換しますか?
- 22. 単純なSQLグループをLINQからSQLへ変換
- 23. C#からVB.NETへのオンラインコード変換
- 24. C#からSQLへのBase64へのハッシュ変換と変換
- 25. console.writelineからdataSet linq to xmlへ変更
- 26. IRIからURIへの変換/ URIからIRIへの変換のアルゴリズム
- 27. atimeからLDAPへPerlへの変換
- 28. VBとIGroupingは
- 29. Java変換からインテグレータへ
- 30. 名前空間接頭辞付きのLinqからXMLへの変換