Tri d'une liste à l'aide de Lambda/Linq to objects

J'ai le nom de "trier par propriété" dans une chaîne de caractères. Je vais devoir utiliser Lambda/Linq pour trier la liste des objets.

Ex:

public class Employee
{
  public string FirstName {set; get;}
  public string LastName {set; get;}
  public DateTime DOB {set; get;}
}


public void Sort(ref List<Employee> list, string sortBy, string sortDirection)
{
  //Example data:
  //sortBy = "FirstName"
  //sortDirection = "ASC" or "DESC"

  if (sortBy == "FirstName")
  {
    list = list.OrderBy(x => x.FirstName).toList();    
  }

}
  1. Au lieu d'utiliser un tas de ifs pour vérifier le nom du champ (sortBy), est-il une manière plus propre de faire le tri
  2. Est un peu au courant de type de données?
  • Dupe: stackoverflow.com/questions/606997/...
  • Je vois sortBy == "FirstName". A l'OP veux faire .Equals() à la place?
  • il n'a probablement moyen de comparer l'égalité, mais je doute qu'il "voulait .Equals()". Typo n'est généralement pas le résultat dans le code qui fonctionne.
  • Votre question n'a de sens que si vous pensez qu'il ya quelque chose de mal avec == ... quoi?
InformationsquelleAutor DotnetDude | 2009-04-06