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 :

La différence entre les crochets et les parenthèses. Cas de recordset [Débutant]


Sujet :

C#

  1. #1
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 611
    Points : 209
    Points
    209
    Par défaut La différence entre les crochets et les parenthèses. Cas de recordset
    Bonjour à tous
    Je débute en c# et il y a des notions qui me sautent.
    Dans mon exercice, j'essaie de connecter à une base de données. Avec oledb Connexion, pas de souci. Vu que je suis pur VBA, j'ai donc essayé de passer par Adodb. Mais je constate qu'il y a des variants comme fields qui n'utilisent pas les parenthèses comme en Vb. Après des recherches, il est mentionné que seul les attributs peuvent se prémunir des crochets.
    Puis je savoir le rôle des crochets et parenthèses ?
    Merci

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 730
    Points : 5 391
    Points
    5 391
    Par défaut
    VBA et C# sont des langages totalement différents.
    Ils ne fonctionnent pas de la même façon et n'ont pas la même syntaxe.

    Sur ce problème précis, tu as déjà un problème de syntaxe.

    La propriété Fields est une collection (un tableau).
    En VBA, on accède à un élément du tableau en passant son indice entre parenthèses.
    EN C#, on accède à un élément du tableau en passant son indice entre crochets.

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Dim students(6) As Integer
     
     students(0) = 23
     students(1) = 19
     students(2) = 21
     students(3) = 17
     students(4) = 19
     students(5) = 20
     students(6) = 22

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int[] students = new int[7];
     
    students[0] = 23;
    students[1] = 19;
    students[2] = 21;
    students[3] = 17;
    students[4] = 19;
    students[5] = 20;
    students[6] = 22;

  3. #3
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 611
    Points : 209
    Points
    209
    Par défaut
    Merci à vous... C'est clair désormais.👍

  4. #4
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 905
    Points : 1 923
    Points
    1 923
    Par défaut
    Citation Envoyé par popo Voir le message
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Dim students(6) As Integer
     
     students(0) = 23
     students(1) = 19
     students(2) = 21
     students(3) = 17
     students(4) = 19
     students(5) = 20
     students(6) = 22
    Tu es sûr qu'on peu accéder à students(0) et students(6) sur un tableau à 6 éléments ?

  5. #5
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 611
    Points : 209
    Points
    209
    Par défaut
    Sûrement une erreur de frappe. Sinon le tableau comporte 7 éléments comme il l'a déclaré. Donc il devrait mettre 7 au lieu de 6.

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 730
    Points : 5 391
    Points
    5 391
    Par défaut
    Citation Envoyé par Noxen Voir le message
    Tu es sûr qu'on peu accéder à students(0) et students(6) sur un tableau à 6 éléments ?
    Citation Envoyé par Mr l'Ashanti Voir le message
    Sûrement une erreur de frappe. Sinon le tableau comporte 7 éléments comme il l'a déclaré. Donc il devrait mettre 7 au lieu de 6.
    On ne peux pas accéder à students(6) si le tableau n'a que 6 éléments.
    C'est pourquoi, j'ai déclaré Dim students(6) As Integer (un tableau de 0 à 6, donc 7 éléments).
    Ce n'est donc pas non plus une erreur de frappe mais le fonctionnement standard d'un tableau en VBA
    Nom : 2024-01-12_120155.png
Affichages : 60
Taille : 10,9 Ko

    Edit :
    Petit rappel des déclaration de tableau en VBA :
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ' Create array with locations 0,1,2,3
        Dim arrMarks1(0 To 3) As Long
     
        ' Defaults as 0 to 3 i.e. locations 0,1,2,3
        Dim arrMarks2(3) As Long
     
        ' Create array with locations 1,2,3,4,5
        Dim arrMarks3(1 To 5) As Long
     
        ' Create array with locations 2,3,4 ' This is rarely used
        Dim arrMarks4(2 To 4) As Long

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 265
    Points : 1 843
    Points
    1 843
    Par défaut
    ça fait partie des petites différences entre les 2 langages:
    en VB (.NET, VBA, 6), on indique l'indice max (l'indice de base étant 0)
    en C#, le nombre d'éléments

  8. #8
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 905
    Points : 1 923
    Points
    1 923
    Par défaut
    Je m'inquiétais que ça puisse être une particularité du langage plutôt qu'une erreur de popo et malheureusement c'est bien une particularité du langage.

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 265
    Points : 1 843
    Points
    1 843
    Par défaut
    En quoi c'est "inquiétant" ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/10/2017, 22h14
  2. Réponses: 67
    Dernier message: 16/12/2007, 13h41
  3. fopen -> différences entres les types d'ouvertur
    Par Patrick PETIT dans le forum C
    Réponses: 10
    Dernier message: 01/06/2003, 18h19
  4. Benchmark entre les langages
    Par El blérot dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 27/12/2002, 01h22
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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