Объединить два списка, чтобы получить третий список. Оба списка имеют два общих и один другой столбец c # - PullRequest
0 голосов
/ 03 января 2019

У меня есть два списка,

List <AgencyCount> Agency= AgencyList.ToList();
List<IndCount> Ind = individualList.ToList();

хочу объединить его в третий список, то есть

List<complain> list = new List<complain>();

Столбцы в списке агентств,

CityId
CityNM
Acount

Столбцы в списке Ind,

CityId
CityNM
Icount

В третьем списке используется объект типа класса, который является

CityId
CityNM
Acount
Icount

Значения в списке Agency и Ind для первых двух столбцов одинаковы.

Результирующий список получает значения для первых двух столбцов, которые совпадают, а затем получает третий столбец обоих списков, как показано выше.

Ответы [ 2 ]

0 голосов
/ 03 января 2019

@ Ответ mnieto был верным для исходного вопроса, который был полностью переписан (пожалуйста, не делайте этого, это приводит к ответам на несуществующие вопросы, подобные этому). Для текущей версии вопроса ответ очень похож, только с другим условием join:

var qry = from a in Agency
          join i in Ind
          on new { a.CityId, a.CityNM } equals new { i.CityId, i.CityNM }
          select new {
              a.CityId,
              a.CityNM,
              a.Acount,
              i.Icount
          };
return qry.ToList();
0 голосов
/ 03 января 2019

Вот пример.Как вы сказали, у AgencyList и IndividualList общие значения CityId и city_NM, я предполагаю, что объединение обоих списков осуществляется с этими полями. Запрос linq возвращает анонимный тип, который вы создаете с полями из обоих списков.Вы можете вернуть конкретный объект, просто создав новый ResultClass и выполнив select new ReturnClass { в linq

Обновлено в соответствии с комментарием @tsahi Asher

var qry = from a in AgencyList.ToList()
          join i in individualList.ToList() 
          on a.CityId equals i.City_NM
          select new {
              a.yourField,
              i.otherField
          };
return qry.ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...