Я хотел бы спросить, есть ли элегантный и эффективный способ объединить два списка MyClass в один?Объедините два списка в один, основанный на свойстве
MyClass выглядит следующим образом:
- ID:
int
- Имя:
string
- ExtID:
int?
и списки заполняются из различных источников и объектов в списках делятся ID, поэтому он выглядит так:
MyClass instance from List1
ID = someInt
Name = someString
ExtID = null
И MyCLASS экземпляр из List2
ID = someInt (same as List1)
Name = someString (same as List1)
ExtID = someInt
То, что я в принципе нужно, чтобы объединить эти два списка, так что результат представляет собой список, содержащий:
ID = someInt (from List1)
Name = someString (from List1)
ExtID = someInt (null if no corresponding item - based on ID - on List2)
Я знаю, что могу это сделать просто с помощью foreach loop, но мне бы хотелось узнать, есть ли более элегантный и, возможно, предпочтительный (из-за производительности, удобочитаемости) метод?
напишите функцию «Слияние», которая объединяет два экземпляра с одним и тем же идентификатором «ID» в один, - тогда вы можете объединить списки, группу по идентификатору и, наконец, сбросить/скрыть по группам, используя вашу функцию слияния - вот как я это сделаю для чтения lity - для производительности вы, вероятно, отлично разбираетесь и цикл – Carsten