0
之間缺少信息
我怎樣才能找到找到2所列出
生成列表
private static IEnumerable<User> GetSomeUsers()
{
var mikesGroups = new List<string> { "Group1", "Group2" };
var mike = new User { UserName = "Mike", MemberOf = mikesGroups };
var davidsGroups = new List<string> { "Group3", "Group1" };
var david = new User { UserName = "David", MemberOf = davidsGroups };
return new List<User> { mike, david };
}
private static IEnumerable<Group> getGroups()
{
var group1Users = new List<string> { "Mike", "David", "Kim" };
var group1 = new Group { Name = "Group1", Members = group1Users };
var group2Users = new List<string> { "Mike", "David","Kim" };
var group2 = new Group { Name = "Group2", Members = group2Users };
return new List<Group> { group1, group2 };
}
實體的代碼所缺少2個不同列表之間的信息:
public class User
{
public string UserName { get; set; }
public IList<string> MemberOf { get; set; } // list of group names
}
public class Group
{
public string Name { get; set; }
public IList<string> Members { get; set; } // list of username
}
結果應該是2列表(缺少組和缺少用戶)
Group3
在組列表中缺少並且鏈接到用戶"David"
Kim
缺少在用戶列表中並鏈接到group1
和group2
2字典必須返回答案=缺失值= foundIn
Dictionary<string,IList<string>> missingUsers;
Item 1 > key="Kim", Value={"Group1","Group2"}
Dictionary<string,IList<string>> missingGroup;
item 1 > Key="Group3",{"David"}
編輯=>
我管理得到所有丟失但未鏈接的列表(字典中所有值的列表)
var missingGroups = users.SelectMany(g => g.MemberOf).ToList().Except(groups.Select(w => w.Name));
var missingUsers= groups.SelectMany(g => g.Members).ToList().Except(users.Select(u => u.UserName));
你試過了什麼? – Thomas 2013-05-02 13:34:16
這就是問題所在,我在邏輯部分 – Maro 2013-05-02 13:46:35
中被阻止,但以下內容不起作用 'users.Select(x => x.MemberOf)。除(groups.Select(g => g 。名稱 –
Maro
2013-05-02 14:00:43