Мне нужно передать переменную типа IDictionary<Guid, IEnumerable<Guid>>
в метод.Когда я использую следующий код:
var userGroupDictionary = _selectedUsers.ToDictionary(u => u.UserGuid, u => u.GroupUsers.Select(gu => gu.Group.GroupGuid).ToList());
, я получаю следующую ошибку:
cannot convert from System.Collections.Generic.Dictionary<System.Guid,System.Collections.Generic.List<System.Guid>>' to 'System.Collections.Generic.IDictionary<System.Guid,System.Collections.Generic.IEnumerable<System.Guid>>'
Когда я перебираю свою коллекцию, она работает, однако:
var userGroupDictionary = new Dictionary<Guid, IEnumerable<Guid>>();
foreach (var user in _selectedUsers.Where(user => !userGroupDictionary.ContainsKey(user.UserGuid)))
{
userGroupDictionary.Add(user.UserGuid, user.GroupUsers.Select(gu => gu.Group.GroupGuid).ToList());
}
Есть идеи, что происходит?Компилятор не может сказать, что Dictionary<Guid, List<Guid>>
удовлетворяет IDictionary<Guid, IEnumerable<Guid>>