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 :

nom de variable dynamique


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Par défaut nom de variable dynamique
    Bonjour

    j'ai un code comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            For i = 0 To 9
                keystate = GetKeyState(System.Windows.Forms.Keys.NumPad0)
                If (keystate And &H80) = &H80 Then
                    active0 = active0 + 1)
                    If (active0 = 1) Then
                    End If
                Else
                    active0 = 0
                End If
            Next
    J'aimerais que tout les "0" (NumPad0, active0) soit remplacé par la variable "i".

    comment faire ?

    Merciii

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Peux tu préciser ?

    Je ne comprend pas ce que tu cherche a faire.

    Sinon :
    active0 = i
    Affecte dans active0 la valeur de i.

  3. #3
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    C'est de la programmation "PHP-like" à proscrire.

    N'est-il pas possible de solutionner ton problème avec une collection ? (List, Array...)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Par défaut
    Citation Envoyé par nah666 Voir le message
    Peux tu préciser ?

    Je ne comprend pas ce que tu cherche a faire.
    Sinon : Affecte dans active0 la valeur de i.
    En fait ce que je cherche à faire, c'est de pouvoir concaténer dynamiquement (boucle FOR) une chaîne et une variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For i = 1 to 5
       maVariable[i] = "toto" + i
    Next
    devrait donner:

    maVariable1 = toto1
    maVariable2 = toto2
    maVariable3 = toto3
    maVariable4 = toto4
    maVariable5 = toto5

    voila ^^

    Citation Envoyé par Er3van Voir le message
    C'est de la programmation "PHP-like" à proscrire.

    N'est-il pas possible de solutionner ton problème avec une collection ? (List, Array...)
    en effet, je viens du web ^^
    c'est quoi la différence entre List et Array ?

  5. #5
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Voici deux exemples d'utilisations :

    Code c# : 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
     
    List<String> maListe = new List<String>();
    String[] monArray = new String[5];
     
    // Remplissages
    for (int i = 0; i < 5; i++)
    {
          monArray[i] = "toto" + i.ToString();
          maListe.Add("toto" + i.ToString());
    }
    // Affichages
    foreach (String s in maListe)
    {
          Console.WriteLine(s);
    }
    foreach (String s in monArray)
    {
          Console.WriteLine(s);
    }
    /* Les deux affichages sortiront : 
    toto0
    toto1
    toto2
    toto3
    toto4
    */

  6. #6
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Citation Envoyé par delphi_jb Voir le message
    c'est quoi la différence entre List et Array ?
    Fondamentalement, un tableau n'est pas extensible tandis qu'une liste l'est. Une liste contient en fait un tableau privé et, au besoin, un tableau plus grand est créé en recopiant les données de l'original (on démarre typiquement avec un tableau de 1 élément, puis 2, 4, 8, 16, ...).

    Maintenant, pour revenir au problème de base, il faut comprendre la différence entre l'accès à un membre en C# et en PHP :
    * en C#, on sait à la compilation que le membre "toto" sera contenu à l'offset 5 de l'instance, donc à l'exécution on se contente d'additionner le pointeur interne de l'objet avec 5 et on a l’adresse du membre.
    * en PHP, on commence par obtenir la hashtable de membres puis on interroge celle-ci pour trouver la variable correspondant au hashcode du nom requis. Commode mais cent fois plus lourd, tant en volume mémoire qu'en coût CPU.

    Donc, si tu veux faire ça en c#, en l'absence de table des membres dans chaque instance, fondamentalement il faut obtenir les infos de refléxion du type de l'instance, récupérer le descripteur du champ et, enfin, appeler FieldInfo.GetValue(). Bref, autant dire qu'on peut faire plus simple et qu'il vaut mieux choisir une solution qui convienne au langage utilisé.

Discussions similaires

  1. [JSTL] nom de variable "dynamique"
    Par gmonta31 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/05/2006, 13h31
  2. Nom de variable dynamique
    Par mavina dans le forum Linux
    Réponses: 7
    Dernier message: 26/04/2006, 20h48
  3. Réponses: 4
    Dernier message: 13/09/2005, 11h50
  4. Noms de Variables dynamiques
    Par horec dans le forum Langage
    Réponses: 7
    Dernier message: 22/07/2005, 16h47
  5. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 11h44

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