У меня есть следующий код:
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 и далее (во второй вложенной ключе Value Value) есть несколько одинаковых ключей.Я хочу сгруппировать их и преобразовать объект списка в словарь, в котором ключ будет таким же (1,2, как показано выше), но первое значение будет словарем, а значение для второго будет коллекцией. Как это:
var outputNeeded = new Dictionary<int,Dictionary<int,Collection<User>>>();
Как я могу это сделать.??