Comment puis-je trier tableau de chaînes ascendantes C#, je veux utiliser quelque chose comme std :: sort en C++:Tri un tableau d'objet en C# (équivalent de std :: sort)
std::sort(population.begin(), population.end())
Je dois trier la liste des obects. Les objets de la liste sont des instances de la classe Génome. J'ai surchargé l'opérateur < et l'opérateur > dans cette classe.
class Genome
{
public List<double> weights;
public double fitness;
public Genome()
{
fitness = 0.0;
weights = new List<double>();
}
public Genome(List<double> weights, double fitness) {
this.weights = weights;
this.fitness = fitness;
}
public static bool operator <(Genome lhs, Genome rhs)
{
return (lhs.fitness < rhs.fitness);
}
public static bool operator >(Genome lhs, Genome rhs) {
return (lhs.fitness > rhs.fitness);
}
}
Voici comment la population est déclarée:
List<Genome> population = new List<Genome>();
Comment puis-je trier ce tableau ?? Peut être utilisé l'opérateur surchargé opérateur < comme en C++?
Toute la solution correcte (j'espère) est: population = population.OrderBy (x => x.fitness) .ToList(); – user1097772