【发布时间】:2011-04-28 01:41:56
【问题描述】:
我有以下代码:
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
public class Test
{
static void Main()
{
var list = new List<KeyValuePair<int, KeyValuePair<int, User>>>
{
new KeyValuePair<int, KeyValuePair<int, User>>(1,new KeyValuePair<int, User>(1,new User {FirstName = "Name1"})),
new KeyValuePair<int, KeyValuePair<int, User>>(1,new KeyValuePair<int, User>(1,new User {FirstName = "Name2"})),
new KeyValuePair<int, KeyValuePair<int, User>>(1,new KeyValuePair<int, User>(2,new User {FirstName = "Name3"})),
new KeyValuePair<int, KeyValuePair<int, User>>(1,new KeyValuePair<int, User>(2,new User {FirstName = "Name4"})),
new KeyValuePair<int, KeyValuePair<int, User>>(2,new KeyValuePair<int, User>(3,new User {FirstName = "Name5"})),
new KeyValuePair<int, KeyValuePair<int, User>>(2,new KeyValuePair<int, User>(3,new User {FirstName = "Name6"})),
new KeyValuePair<int, KeyValuePair<int, User>>(2,new KeyValuePair<int, User>(3,new User {FirstName = "Name6"})),
new KeyValuePair<int, KeyValuePair<int, User>>(3,new KeyValuePair<int, User>(4,new User {FirstName = "Name7"})),
};
}
}
public class User
{
public string FirstName { get; set; }
}
如您所见,第一个 KeyValue 对的相同键有多个值,并且(在第二个嵌套键值对中)还有多个相同的键现在我想对它们进行分组并将列表对象转换为字典,其中键将是相同的(如上所示的 1,2),但第一个值将是字典,第二个值将是集合。像这样:
var outputNeeded = new Dictionary<int,Dictionary<int,Collection<User>>>();
我该怎么做。 ??
【问题讨论】:
-
不清楚你想输出什么。请解释清楚一点
标签: c# generics dictionary key-value