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

Visual Studio Discussion :

Comment optimiser ces conditions IF


Sujet :

Visual Studio

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Par défaut Comment optimiser ces conditions IF
    Salut a tous,

    J'ai un DataGridView qui reçoit et affiche des identifiants (ID) d'une source externe. Je connais les pseudos de chaque ID.

    Dans la colonne "ID", comment feriez vous d'une manière optimiser pour verifier a quel pseudo correspond l'ID de la celulle 0

    Voici un exemple de ce que j'ai fais (voir ci-dessous) qui fonctionne bien mais les conditions IF sont trop longues car il y a prés de 200 ID avec leurs pseudos.

    Connaissez vous svp un moyen plus optimiser comme par exemple une boucle qui vérifie une liste qui contient tous les pseudos des menbres ? j'espere que vous avez compris ce que je veux dire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    string id = row.Cells[0].Value.ToString();
    var nom = "";
     
    if (id == "FB23E1A8B7E2944FAAEC6219BBDF8243")
    {
      nom = "Pseudo 1";
    }
    else if (id == "FE63D6040E22611D978B73064B3A2057")
    {
      nom = "Pseudo 2";
    }
    else if (id == "0D44A8E3F29D9E568FE31C7DE45A80E0")
    {
      nom = "Pseudo 3";
    }
    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 430
    Par défaut
    Bonjour,
    Je ne sais pas si c'est plus rapide, mais à tester:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    nom = row.Cells[0].Value.ToString() switch
    {
        "FB23E1A8B7E2944FAAEC6219BBDF8243" => "Pseudo 1",
        "FE63D6040E22611D978B73064B3A2057" => "Pseudo 2",
        "0D44A8E3F29D9E568FE31C7DE45A80E0" => "Pseudo 3",
        _ => "Inconnu"
    };
    Si le nombre de valeurs augmente, je pense que l'utilisation d'un dictionnaire sera plus simple/clair.

    Tatayo.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Par défaut
    Merci tatayo, je vais essayé ça..

    Au lieu d'ecrire les ID + pseudos en dur dans le code, savez vous si c'est possible de les ecrire dans un fichier et d'appeler ce fichier ?

    Qe voulez voire par "Si le nombre de valeurs augmente" ?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    tu peux ajouter depuis visual studio un fichier texte, après le mettre dans les settings du projet
    ce fichier seront donc intégré à la compilation, et accessible et récupérable en string

    au démarrage de l'appli, tu le parse selon le format choisi (genre "guid"="pseudo" sur chaque ligne)
    en découpant (string.split) avec saut de ligne puis avec = tu pourras ajouter chaque ligne à un dictionary<guid, string>
    et donc en une seule ligne écrire var pseudo = dict[leguid]
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    tu peux ajouter depuis visual studio un fichier texte, après le mettre dans les settings du projet
    ce fichier seront donc intégré à la compilation, et accessible et récupérable en string

    au démarrage de l'appli, tu le parse selon le format choisi (genre "guid"="pseudo" sur chaque ligne)
    en découpant (string.split) avec saut de ligne puis avec = tu pourras ajouter chaque ligne à un dictionary<guid, string>
    et donc en une seule ligne écrire var pseudo = dict[leguid]
    Merci beaucoup, je vais essayé de faire ça..
    Si je mets un fichier texte dans visual studio, est-ce que ce fichier sera accessible dans le dossier du ".exe" lors de la compilation ?

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    tu peux le préciser sur le fichier, qu'il doit être copié à la compilation
    sinon le mieux est de l'inclure dans l'exe et de dire à visual studio que tu veux y accéder via une propriété string, ca fait moins de code (à googler : c# text file as string embedded)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Comment définir ces conditions avec Talend
    Par fafoula dans le forum Développement de jobs
    Réponses: 23
    Dernier message: 07/07/2016, 17h55
  2. comment simplifier ces conditions
    Par Attila54 dans le forum VB 6 et antérieur
    Réponses: 23
    Dernier message: 11/02/2010, 15h18
  3. Comment mettre en oeuvre ces conditions ?
    Par Attila54 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 08/02/2010, 15h25
  4. Comment optimiser une jointure ?
    Par seb_asm dans le forum Administration
    Réponses: 21
    Dernier message: 25/06/2004, 16h42
  5. [Compilateur] Optimisation des conditions
    Par Pedro dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2004, 13h49

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