Comment trier une liste par propriété dans l'objet en C#
-
Utilisez la méthode
OrderBy
pour trier une liste par propriété dans l’objet enC#
-
Utiliser un délégué pour trier une liste par une propriété dans l’objet en
C#
Cet article présente différentes méthodes pour trier une liste par propriété dans l’objet en utilisant le code C#.
- Utilisation de la méthode
OrderBy
- Utiliser un
delegate
Utilisez la méthode OrderBy
pour trier une liste par propriété dans l’objet en C#
Nous utiliserons la fonction intégrée OrderBy
pour trier une liste par propriété dans l’objet. C’est la méthode de LINQ. Cette méthode crée une nouvelle liste triée par la propriété donnée. La syntaxe correcte pour utiliser cette méthode de tri d’une liste par une propriété est la suivante.
ListName.Orderby(varName => varName.property);
La fonction intégrée OrderBy
a deux paramètres. Les détails de ses paramètres sont les suivants.
Paramètres | Description | |
---|---|---|
varName |
obligatoire | C’est le nom de la variable pour la liste donnée. |
property |
obligatoire | C’est la propriété que nous utiliserons pour trier notre liste. |
Le programme ci-dessous montre comment nous pouvons utiliser cette fonction pour trier une liste selon une propriété de l’objet.
using System;
using System.Linq;
using System.Collections.Generic;
public class Flowers {
public string name;
public int priority;
public Flowers(string name, int priority) {
this.name = name;
this.priority = priority;
}
public override string ToString() {
return "[" + name + "," + priority + "]";
}
}
public class Example {
public static void Main() {
Flowers hibiscus = new Flowers("Hibiscus", 3);
Flowers rose = new Flowers("Rose", 1);
Flowers lili = new Flowers("Lili", 4);
List<Flowers> mylist = new List<Flowers>() { hibiscus, rose, lili };
List<Flowers> sorted = mylist.OrderBy(x => x.priority).ToList();
Console.WriteLine(String.Join(Environment.NewLine, sorted));
}
}
Production:
[Rose, 1]
[Hibiscus, 3]
[Lili, 4]
Utiliser un délégué pour trier une liste par une propriété dans l’objet en C#
Nous pouvons également utiliser le délégué à la douane pour trier une liste par propriété dans l’objet. La syntaxe correcte pour utiliser un delegate
est la suivante.
[access modifier]
delegate[return type][delegate name]([parameters])
Le programme ci-dessous montre comment nous pouvons utiliser un délégué pour trier une liste par une propriété de l’objet.
using System;
using System.Linq;
using System.Collections.Generic;
public class Flowers {
public string name;
public int priority;
public Flowers(string name, int priority) {
this.name = name;
this.priority = priority;
}
public override string ToString() {
return "[" + name + "," + priority + "]";
}
}
public class Example {
public static void Main() {
Flowers hibiscus = new Flowers("Hibiscus", 3);
Flowers rose = new Flowers("Rose", 1);
Flowers lili = new Flowers("Lili", 4);
List<Flowers> mylist = new List<Flowers>() { hibiscus, rose, lili };
mylist.Sort(delegate(Flowers x, Flowers y) { return x.priority.CompareTo(y.priority); });
Console.WriteLine(String.Join(Environment.NewLine, mylist));
}
}
Production:
[Rose, 1]
[Hibiscus, 3]
[Lili, 4]
Article connexe - Csharp Method
- Paramètre facultatif en C#
- Comment passer une méthode comme paramètre dans une fonction C
- C# passer plusieurs paramètres à une méthode d'obtention
- Groupes de méthodes en C#