如何合并两个 IGrouping 列表?
How to merge two Lists of IGrouping?
假设我有两个 IGrouping 类型的列表:
List<IGrouping<long, string>>:
a) Key: 1 Values: "a", "b", "c"
2 "d", "e"
b) 1 "aa", "bb", "cc"
3 "f", "g"
我想将两者合并为一个:
Key: 1 Values: "a", "b", "c", "aa", "bb", "cc"
2 "d", "e"
3 "f", "g"
有人能帮忙吗?
谢谢。
我成功了,但不是最好的解决方案。
public static IList<IGrouping<T, TU>> MergeGroupingList<T, TU>( IList<IGrouping<T, TU>> groupings )
{
IEnumerable<KeyValuePair<T, TU>> temp = ( from grouping in groupings
from value in grouping
select new KeyValuePair<T, TU>( grouping.Key, value ) ).ToList();
return temp.GroupBy( r => r.Key, r => r.Value ).ToList();
}
假设我有两个 IGrouping 类型的列表:
List<IGrouping<long, string>>:
a) Key: 1 Values: "a", "b", "c"
2 "d", "e"
b) 1 "aa", "bb", "cc"
3 "f", "g"
我想将两者合并为一个:
Key: 1 Values: "a", "b", "c", "aa", "bb", "cc"
2 "d", "e"
3 "f", "g"
有人能帮忙吗? 谢谢。
我成功了,但不是最好的解决方案。
public static IList<IGrouping<T, TU>> MergeGroupingList<T, TU>( IList<IGrouping<T, TU>> groupings )
{
IEnumerable<KeyValuePair<T, TU>> temp = ( from grouping in groupings
from value in grouping
select new KeyValuePair<T, TU>( grouping.Key, value ) ).ToList();
return temp.GroupBy( r => r.Key, r => r.Value ).ToList();
}