【发布时间】:2011-09-02 00:21:11
【问题描述】:
您好,我有一个用户列表。每个用户都属于一个区域。
我想要对这个列表做的是从中创建一个字典,其中区域名称是键,键的值是区域中用户的选择列表,其中包含用户名的文本值和设置为用户 ID 的值。
我设法使用以下代码实现了这一点:
var StaffByArea = new Dictionary<string, IEnumerable<SelectListItem>>();
foreach(var area in areas)) {
var personList = new List<SelectListItem>();
foreach (var person in staff.Where(c => c.AreaId == area.Id)) {
personList.Add(new SelectLis
tItem { Value = person.AreaId.ToString(), Text = person.Username });
}
StaffByArea.Add(area.Name, personList);
}
因此,对于每个可能的领域,我都在寻找相关人员并将他们添加到选择列表中。为该区域添加所有人员后,我将该选择列表添加到字典中,并使用区域名称作为键。
我一直认为这可能更容易用 ToDictionary() 来完成
有人知道怎么做吗?
我只知道:
StaffByArea = Users.ToDictionary(x => x.Area.Name, ...);
【问题讨论】:
标签: c# asp.net dictionary