C # LINQ список слияния и словарь в новый словарь - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть следующий код, и он работает

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 способ реализовать это.Алгоритм следующий:

  1. Сопоставить один словарь с другим
  2. Добавить недостающие ключи со значением по умолчанию bool (false)

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 21 февраля 2019

Попробуйте следующее

usersIds.ToDictionary(v => v, v => userAddresses.ContainsKey(v) && userAddresses[v].HasFax())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...