【发布时间】:2018-03-07 21:10:21
【问题描述】:
根据最新版本的 .NET/C#,最适合用于此场景的集合是什么?我需要返回组 ID 与用户 ID 的映射。因此,请考虑以下示例的映射,其中组 111 有 2 个用户 222 和 444:
111 222
111 444
555 222
KeyValuePair 不是最有效的 b/c 数据反映多对多关系。
【问题讨论】:
-
你可以使用 Linq 做一个 groupBy
-
从您的陈述中,“考虑如下示例的映射,其中组 111 有 2 个用户 222 和 444”,这意味着一对多关系,并使用 KeyValuePairs
>,因此键为 111 的键值对将具有 222、444 的列表,而键为 555 的键值对将具有 222 的列表 -
你如何获得这些数据?使用 Linq,您可以创建一个方便的 IGrouping
。 -
还有 linq 的
ToLookup -
如果您需要同时查找两个 ID,您可以使用两个字典
标签: c# .net collections