Compte tenu de la structure suivante ...Obtenir la somme d'une valeur dans Linq
class Foo {
public string Category { get; set; }
public string Code { get; set; }
public int Quantity { get; set; }
}
Je suis en train d'utiliser LINQ pour résumer une liste de ces objets par catégorie et par code, de sorte que si je fournir les renseignements suivants source ...
List<Foo> foos = new List<Foo>() {
new Foo {Category = @"A", Code = @"B", Quantity = 1},
new Foo {Category = @"A", Code = @"B", Quantity = 2},
new Foo {Category = @"C", Code = @"D", Quantity = 3},
new Foo {Category = @"C", Code = @"D", Quantity = 4}
};
je me retrouve avec une liste contenant ...
Foo {Category = @"A", Code = @"B", Quantity = 3},
Foo {Category = @"C", Code = @"D", Quantity = 7}
(où la quantité est la somme des q d'origine uantités des objets correspondants).
Je sais que j'ai besoin d'utiliser une combinaison de la clause group by
et les méthodes d'extension Sum()
, je ne semble pas être en mesure de trouver cette combinaison correcte.
S'il vous plaît noter, il n'y a pas de base de données derrière cette liste, je le fais purement avec des objets afin d'extraire la liste d'origine, y compris la somme n'est pas une option.
Merci.
Est-ce objet créé lors de l'exécution ? ou au moment de la compilation comme indiqué ci-dessus? –