我有以下代码,它正在工作
public async Task<ActionResult> GetUsersWithFax(List<int> userIds)
{
Dictionary<int,Address> userAddresses = await _service.GetUserAddresses(userIds);
Dictionary<int, bool> usersHaveFax = new Dictionary<int, bool>();
foreach (var userId in userIds)
{
usersHaveFax.Add(userId,
userAddresses.ContainsKey(userId) &&
userAddresses[userId].HasFax());
}
return usersHaveFax;
}
但是,我正在寻找一种更多的
linq
方式来实现这一目标。算法如下
将一本字典映射到另一本
使用默认bool值添加缺少的键(false)
我将不胜感激任何帮助。
最佳答案
尝试以下
usersIds.ToDictionary(v => v, v => userAddresses.ContainsKey(v) && userAddresses[v].HasFax())