Bonjour,
Je suis surpris de ne pas trouver ce que je recherche. J'imagine que j'ai dû utiliser les mauvaises clés de recherches tant ce que je cherche me semble basique.
Si c'est le cas, merci de me donner les liens ou les clés de recherche pour trouver ce que je cherche.
Mais qu'est-ce que je cherche ?
Soit une liste d'objets de types différents, mais ayant certains attributs communs, comme par exemple l'attribut Layer.
Soit une liste de string déterminant des layers. Appelons la liste "couches" pour bien faire la différence : Par exemple List<string>lstCouches = new List<string>(newstring[]{"OFF_SEG_LOT","OFF_SEG_TNC","OFF_SEG_CF"})
Je dois extraire de la liste d'objets les lignes ou arcs (typeof(Ligne) ou de typeof(Arc)) dont le Layer est dans la liste couches.
En Foreach avec des itérations de comparaison sur les éléments de la liste couches, j'y arrive bien, mais je me dis qu'il doit y avoir moyen de le faire en linq et que le résultat serait bien plus rapide en linq.
Mais comment dois-je m'y prendre ?
je pense à qqch du genre var objets = lstObjets.Where(x => (x.GetType() == typeof(Ligne) || x.GetType() == typeof(Arc)) && x.Layer == ??);
Mais par quoi faut-il remplacer ?? pour sélectionner les éléments de la liste lstCouches ?
Merci de vos z'avis z'avisés.
Partager