Comment joindre les deux Listes fondé sur la propriété commune
Supposons que j'ai deux Lists<myObject>
où myObject
se compose de deux propriétés
Id (de type Int
) et
Valeur (de type Double
)
J'ai besoin d'obtenir une liste de ces deux listes qui en est faite (anonyme) des objets comme ceci:
Id, [Double value from List 1], [Double value from List 2]
Donc, si, pour un Identifiant donné les deux listes contiennent une valeur, il devrait ressembler à cet exemple:
12, 21.75, 19.87
Si une liste ne contient pas un objet avec un Id qui est présent dans l'autre liste, la valeur doit être null:
15, null, 22.52
Comment puis-je y parvenir?
Mise à jour: je sais comment j'ai pu obtenir une telle liste, bien sûr, mais je suis à la recherche pour le plus performant possible de le faire, de préférence par l'utilisation de certaines d'esprit Linq magie.
- Ce pourrait être une utilisation de la
Zip
méthode: msdn.microsoft.com/en-ca/library/vstudio/... - Le
Zip
méthode ne peut pas être utilisé pour ce faire.
Vous devez vous connecter pour publier un commentaire.
Pas sûr de la façon optimisée, c'est, mais devrait convenir à vos besoins - en Supposant que j'ai compris ce que tu voulais:
Le résultat serait quelque chose qui ressemble à:
Ne vois vraiment pas pourquoi vous voulez les valeurs null est retourné, sauf si vous devez absolument (d'Ailleurs, le double n'est pas les valeurs null, donc elle devra être la résultante d'entrée combinée qui serait la valeur null à la place).
La condition est légèrement floue. Voulez-vous un produit Cartésien ou une jointure sur une Id? Si ce dernier, alors cela devrait fonctionner:
Si vous voulez vraiment une jointure externe complète, voir cette.