J'ai un exemple de classe contenant deux points de données:Trier une liste par une propriété, puis par un autre
public enum Sort { First, Second, Third, Fourth }
public class MyClass
{
public MyClass(Sort sort, string name) {
this.Sort = sort;
this.Name = name;
}
public Sort Sort { get; set; }
public string Name { get; set; }
}
Je cherche à les classer en groupes par leurs biens Sort
, puis alphabétiser ces groupes.
List<MyClass> list = new List<MyClass>() {
new MyClass(MyClass.Sort.Third, "B"),
new MyClass(MyClass.Sort.First, "D"),
new MyClass(MyClass.Sort.First, "A"),
new MyClass(MyClass.Sort.Fourth, "C"),
new MyClass(MyClass.Sort.First, "AB"),
new MyClass(MyClass.Sort.Second, "Z"),
};
La sortie serait alors: (affichage Name
)
A
AB
D
Z
B
C
Je suis en mesure de le faire en utilisant un foreach
pour séparer les éléments en plusieurs tableaux plus petits (regroupés par le ENUM valeur) mais cela semble très fastidieux - et je pense qu'il doit y avoir une solution LINQ que je ne connais pas.
Cette syntaxe n'est pas valide. Le 'select m' doit être placé à la fin, alors ce sera correct. –
Merci Ahmed, corrigé. 3h échouer – pdr