【发布时间】:2011-02-03 03:28:06
【问题描述】:
如何将 Linq 查询的结果分配给字典...
public Dictionary<string, Privilege> GetAllPermissionsByGroupId(string groupid)
{
string[] Roles = new string[] { "e8b08a45-9cb5-4ac9-8c6c-9dfe4ac23966$Moderator" };
List<RolePrivilege> RoleList = new List<RolePrivilege>();
List<Privilege> PrivilegeList = new List<Privilege>();
Dictionary<string, RolePrivilege> Role = PrivilegeProxy.GetPrivilegesForRoles("744A2BE3-846E-4E4A-9796-DAF9C743E8FF", Roles);
RoleList = Role.Values.ToList();
Dictionary<string, Privilege> Privilege = PrivilegeProxy.GetPrivilegesbyModuleIds(new string[] { "Groups" });
PrivilegeList = Privilege.Values.ToList();
var identicalQuery = from roles in RoleList
join privileges in PrivilegeList on roles.PrivilegeName equals privileges.Name
select new { Roles = roles, Privileges = privileges };
Dictionary<string, Privilege> Result=new Dictionary<string,Privilege>();
Result=?
return Result;
}
【问题讨论】:
-
虽然我不知道这些标签与问题有什么关系。
-
@Yuriy - 我在其中编辑了这些标签。它绝对是 C#,他(我假设)试图从该集合/LINQ 查询中创建一个
Dictionary<T,TKey>。这些标签不相关吗? -
抱歉,目前还不清楚...
Dictionary<string, Privilege>中的字符串是什么?角色名?这会将 1 个角色与 1 个权限相关联。如果每个角色拥有多个权限,那么您需要的是Dictionary<string, IEnumerable<Privilege>>... -
实际上我的目标是我想比较两个列表中哪些值是常见的,我应该将它加载到字典中......
-
为什么不能按照这里的建议使用 ToDictionary?
标签: c# linq generics dictionary