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

VB.NET Discussion :

comparer valeurs de plusieurs variables


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 58
    Points
    58
    Par défaut comparer valeurs de plusieurs variables
    Bonjour,

    Je voudrai pouvoir faire un test de comparaison entre différentes variables pour savoir laquelle d'entre elle est la plus petite (tout en sachant que ce n'est jamais la même), mais je ne vois pas comment faire

    quelqu'un pourrait me donner une piste? svp

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    petite en taile (string.lenght) ou c'est des integer que tu compare ?? explique un peu plus stp

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 58
    Points
    58
    Par défaut
    pardon,

    ce sont des integer que je veux comparer.

    le calcul que je veux faire est de comparer plusieurs variables afin de déterminer laquelle est la plus petite (car celle-ci va alors servir de base pour mon calcul, c'est à dire qu'au lieu de partir de 0 je partirai de la valeur de ma variable).

  4. #4
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public static T GetLower<T>(params T[] list) where T : IComparable
            {
                #region Validation
                if (list == null)
                {
                    throw new ArgumentNullException();
                }
     
                if (list.Length == 0)
                {
                    throw new ArgumentException();
                } 
                #endregion
     
                T lower = list[0];
     
                for (int i = 1; i < list.Length; i++)
                {
                    if (list[i].CompareTo(lower) < 0)
                    {
                        lower = list[i];
                    }
                }
     
                return lower;
            }
    Oups, pas vu qu'on était en VB, mais l'idée y est (ne me demande pas de traduire... :p )

  5. #5
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Si ce ne sont que des int, tu as encore plus facile, tu fais un sort sur la liste, et c'est le premier


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim list as new List(Of Integer)
     
    list.Add(1)
    list.Add(2)
    list.Add(1)
    list.Add(3)
     
    list.Sort()
    ' list(0) = 1
    Sinon, la solution de Neptune a l'interet d'etre generique (et la mienne, d'etre un solution de feineant )

    Ceci dit, sauf erreur de ma part, dans la solution de Neptune, si ce sont des IComparable, ils doivent pouvoir etre tries...et on en revient a ma version

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 58
    Points
    58
    Par défaut
    merci à vous deux pour vos réponse, je vais voir comment je vais faire et je vous tiendrai au courant.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par neptune Voir le message

    Oups, pas vu qu'on était en VB, mais l'idée y est (ne me demande pas de traduire... :p )
    rien que pour faire mon chiant : "tu peux me le traduire stp?"

  8. #8
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Citation Envoyé par DiamonDonald Voir le message
    rien que pour faire mon chiant : "tu peux me le traduire stp?"
    J'ai du mal à écrire du VB ;-) Au pire tu le compile en C# et tu le décompile en VB après

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par neptune Voir le message
    Au pire tu le compile en C# et tu le décompile en VB après
    C'est possible ça? je veux dire, je sais que l'on peut décompiler des exe pour afficher le code mais j'ai jamais fait et puis ça ne va pas le décompiler en C#?

  10. #10
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Ton code .NET est compilé en IL (intermediate language). Tu peux donc facilement le relire en c#, VB, J#, ou n'importe quel language .NET

    Jette un oeil à Reflector.

  11. #11
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Bonjour,

    Sa devrait fonctionner ça :

    C'est le code de Neptune mais il manque le #region.

    Je suis pas sûr que ce soit bon je suis pas habitué à ce langage.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Public Shared Function GetLower(Of T As IComparable)(ByVal ParamArray list() As T) As T
     
            If list Is Nothing Then
                 Throw New ArgumentNullException
            End If
     
            If list.Length = 0 Then
                 Throw New ArgumentException
            End If
     
            Dim lower As T = list(0)
     
            For i As Integer = 1 To list.Length - 1
     
                If list(i).CompareTo(lower) < 0 Then
                        lower = list(i)
                End If
     
            Next i
     
            Return lower
     
        End Function

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par harz62 Voir le message

    C'est le code de Neptune mais il manque le #region.
    merci, j'aurai une autre question : c'est quoi cette histoire de #region?

  13. #13
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Bonjour,

    Citation Envoyé par DiamonDonald Voir le message
    merci, j'aurai une autre question : c'est quoi cette histoire de #region?
    C'est une instruction qui permet de mieux organiser son code. Ce sont des balises qui permettent de cacher/afficher une portion de ton code compris entre #region et #endregion. On utilise ça pour limiter la complexité du code en masquant le code que l'on a pas besoin. Cela permet en fait de mieux structurer son code mais ça n'a pas d'incidence ni sur la compilation ni sur l'éxécution d'un programme.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 58
    Points
    58
    Par défaut
    Bonjour harz62,

    d'accord, mais une petite précision alors stp
    prenons l'exemple d'une procédure sous vb.net (sub, endsub)

    sur le coté gauche du code il est possible de "réduire" le code de la procédure pour ne plus afficher que le nom de celle-ci. c'est la même chose pour #region et #endregion?

    ou alors la différence est plus subtile ?

  15. #15
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Citation Envoyé par DiamonDonald Voir le message
    sur le coté gauche du code il est possible de "réduire" le code de la procédure pour ne plus afficher que le nom de celle-ci. c'est la même chose pour #region et #endregion?
    Oui ça fonctionne de la même façon sauf que tu peux mettre une instruction région n'importe ou dans le code et dans la déclaration de #region tu peux mettre un intitulé. Je pense que tous les développeurs y compris moi utilisent ça. Je regroupe mes propriétés par exemple et je met un region qui encapsulent toutes les propriétés de ma classe puis je fait pareil pour mes méthodes, événements, champs. Lorsque je n'ai pas besoin par exemple des propriétés je les réduits ça me permet d'accèder plus rapidement à d'autres membres tu vois ce que je veux dire?

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 58
    Points
    58
    Par défaut
    oui tout à fait, je connaissais pas et je te remercie d'avoir pris le temps de m'expliquer.

Discussions similaires

  1. Distribution d'une valeur sur plusieurs variables de manière aléatoire
    Par farida.info2010 dans le forum Probabilités
    Réponses: 1
    Dernier message: 19/02/2013, 14h29
  2. [XL-2003] comparer valeur d'une variable tableau vba
    Par redstoff dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/09/2011, 14h00
  3. [XL-2003] Comparer valeurs de plusieurs cellules
    Par RussellD dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/08/2010, 19h09
  4. Réponses: 2
    Dernier message: 02/08/2010, 21h57
  5. Récupérer des valeurs dans plusieurs variables
    Par cortex024 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 26/01/2007, 15h33

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