IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

C# LINQ OrderBy + condition


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 64
    Points : 47
    Points
    47
    Par défaut C# LINQ OrderBy + condition
    Bonjour à tous

    Quelqu'un aurait il deja manipulé une conditon pour un OrderBy dans une requete LinQ en C# ?

    je m explique j'ai un string typeAffichage, dont je me sers pour testes sur quelle données je dois faire mon tri dans une liste

    je donne un peu une idée du concepte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach (Objet item in List.OrderBy( if(string.Compare(typeAffichage,desc,true,System.Gl.In.Cult) == 0){f => f.Description}else{f => f.Type;}))
    {
    }

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 64
    Points : 47
    Points
    47
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach (Objet item in list.OrderBy(f => string.Compare(typeAffichage,desc,true,System.Gl.In.Cult) == 0 ? f.Description : f.Type)
    {
    }

  3. #3
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Comme on te l'a expliqué lorsque tu es venu sur le chat le mieux reste encore de choisir le bon sélecteur de tri une seule fois avant l'OrderBy plutôt que de refaire le même test à chaque élément de ton conteneur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // en partant du principe que :
    // -les éléments contenus dans List sont de type Foo
    // -les propriétés Description et Type renvoient toutes deux un string
     
    Func<Foo, string> orderBySelector = f => f.Type; // sélecteur par défaut
    if (string.Compare (typeAffichage, desc, true, System.GL.In.Cult) == 0)
    {
        orderBySelector = f => f.Description;
    }
     
    foreach (Foo item in List.OrderBy (orderBySelector))
    {
    }
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête linq orderby
    Par Pynouz dans le forum C#
    Réponses: 5
    Dernier message: 23/10/2013, 15h16
  2. [Débutant] [LINQ] Orderby et index de colonne
    Par shaun_the_sheep dans le forum C#
    Réponses: 12
    Dernier message: 02/10/2013, 18h19
  3. [LINQ] OrderBy avec string as int
    Par Z4ng3tsu dans le forum C#
    Réponses: 10
    Dernier message: 17/11/2011, 18h27
  4. Linq - jointure avec deux conditions
    Par boby62423 dans le forum Linq
    Réponses: 1
    Dernier message: 02/04/2009, 09h51
  5. Linq, OrderBy sur propriété hors base de donnée
    Par neptune dans le forum Framework .NET
    Réponses: 7
    Dernier message: 25/06/2008, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo