Il est exact que votre cTag classe doit implémenter IComparable<T>
interface. Ensuite, vous pouvez simplement appeler Sort()
sur votre liste.
Pour mettre en oeuvre IComparable<T>
interface, vous devez implémenter CompareTo(T other)
méthode. La façon la plus simple pour ce faire est d'appeler la méthode CompareTo de la zone que vous souhaitez comparer, ce qui dans votre cas est de date.
public class cTag:IComparable<cTag> {
public int id { get; set; }
public int regnumber { get; set; }
public string date { get; set; }
public int CompareTo(cTag other) {
return date.CompareTo(other.date);
}
}
Cependant, ce ne serait pas de tri bien, parce que ce serait une utilisation classique de tri sur des chaînes de caractères (depuis que vous avez déclarée à la date sous forme de chaîne). Donc, je pense que la meilleure pensez à faire serait de redéfinir la classe et de déclarer la date n'est pas une chaîne, mais en DateTime. Le code devrait rester pratiquement la même:
public class cTag:IComparable<cTag> {
public int id { get; set; }
public int regnumber { get; set; }
public DateTime date { get; set; }
public int CompareTo(cTag other) {
return date.CompareTo(other.date);
}
}
La seule chose que vous avez à faire lors de la création de l'instance de la classe pour convertir votre chaîne de caractères contenant la date en type DateTime, mais il peut être fait facilement par exemple, en DateTime.Parse(String)
méthode.