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 :

Traduction code VB.NET en C# - Nombre de cellules remplies d'un tableau de strings [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Par défaut Traduction code VB.NET en C# - Nombre de cellules remplies d'un tableau de strings
    Bonjour à tous ,

    Je n'arrive pas à traduire ce code VB.NET en C#, j'utilise ce code pour savoir combien de "cellule" sont remplies dans un tableau de variable string

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim sydm(5) As String
        Dim nbre As Integer
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            For j = 0 To UBound(sydm)
                If sydm(j) <> "" Then nbre = nbre + 1
            Next
            MessageBox.Show(nbre)
        End Sub

    le code C# suivant me donne le nombre de "cellule du tableau vide ou pas!!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     {
                     string[] sydm = new string[6];
                     int nbre = 0;
                     for (var j = 0; j <= Symdme.GetUpperBound(0); j++)
                     {
                         if (sydm[j] != "")
                         {
                             nbre = nbre + 1;
                             MessageBox.Show(nbre.ToString());
                         }
                     }
                 }
    Merci pour votre aide, je suis paumé!!
    Greg

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Mis à part les fautes de frappe ,ton problème vient du fait que la fonction GetUpperBound(0) renvoie 5, et qu'en C# l'indice de boucle est contrôlé par l’opérateur < ...
    code revu:
    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
     
    private void button1_Click(object sender, EventArgs e)
            {
                string[] sydm = new string[6] {"A", "", "A", "", "A", "A"};
                int nbre = 0;
                MessageBox.Show(sydm.GetUpperBound(0).ToString());
                for (var j = 0; j < sydm.GetUpperBound(0)+1; j++)
                {
                    if (sydm[j] != "")
                    {
                        nbre = nbre + 1;
     
                    }
                }
                MessageBox.Show(nbre.ToString());
            }
    bon code...

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2015
    Messages : 26
    Par défaut
    Bonjour,

    Vous pouvez aussi utiliser Linq:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int nbre = sydm.Where(s => !string.IsNullOrEmpty(s)).Count();

  4. #4
    Membre actif
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Par défaut
    Bonsoir,
    Merci pour votre aide, le code fonctionne parfaitement.
    ps: Désolé pour les fautes MABROUKI!! Je suis allé un peu vite..
    Merci encore à vous deux..
    Greg

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

Discussions similaires

  1. Trigger qui execute du code VB.net
    Par NicoNGRI dans le forum Développement
    Réponses: 9
    Dernier message: 08/10/2007, 16h52
  2. [VB.NET;C#) Associer du code C#.NET à un form VB.NET ?
    Par beegees dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/06/2006, 10h06
  3. [JNI] utiliser du code DOT NET via JNI, possible ?
    Par Elbarto dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 14/06/2006, 17h41
  4. Convertion code Delphi.net vers C#
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 31/03/2006, 21h08

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