IDictionary<Guid, IEnumerable<Guid>>
변수를 메서드에 전달해야합니다. 나는 다음과 같은 오류가개체에 Linq 사용, 형식 요구 사항을 충족하지 못하는 ToDictionary 메서드
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>>
예, 지연된 실행 문제가 있습니다. 평가 후 AsEnumerable에 대해 생각하지 않았을 것입니다. 나는 타입 차이 문제에 대해 더 알고 싶다. 그리고 또 다른 질문을 올릴 것이다. 당신의 대답은 나를 위해 위대한 작품, 감사합니다! –