7
votes

Y a-t-il un meilleur moyen de définir une propriété commune à une liste d'éléments de Linq

J'ai la classe suivante: xxx

J'ai ensuite fait une liste de véhicules comme: xxx

Suivant J'essayais d'obtenir Une liste de datesManufacturée et pour chaque date des véhicules fabriqués à cette date.

alors je suis allé pour: xxx

cela fonctionne des amendes mais je ' Je ne suis pas sûr de la partie x.first () . Cela fonctionne mais cela ne se sent pas parfaitement correct. Est-ce que quelqu'un connaît un moyen plus élégant de coder cela?


0 commentaires

3 Réponses :


4
votes

Je ne vois rien de mal avec votre code, mais vous pouvez également utiliser x.key au lieu de x.first (). DatuManufacturé qui ne nécessiterait pas une création d'un autre iEnumerable.


0 commentaires

7
votes

Lorsque vous utilisez GroupBy CODE>, il créera un igroup code>, vous pouvez donc simplement faire ce qui suit:

var vehiclesGroupedByDate = vechicles.GroupBy(x => x.DateManufactured)
            .Select(x => new
                {
                    x.Key,
                    Vehicles = x.ToList()
                });


0 commentaires

3
votes

GroupBy expose une propriété clé: xxx


0 commentaires