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 :

Syntaxe resemblant à un using


Sujet :

C#

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut Syntaxe resemblant à un using
    Bonjour,
    Dans un code existant, je trouve beaucoup de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MaClasse monObjet = new MaClasse();
    {
    	MaClasse2 element = monObjet.GetByID(monId);
    	//Faire quelque chose avec element
     
    }
    Pour moi c'est un code strictement équivalent à.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MaClasse monObjet = new MaClasse();
    MaClasse2 element = monObjet.GetByID(monId);
    //Faire quelque chose avec element
    Si ce n'est que la syntaxe laisse penser que c'est un using alors que ce n'est pas le cas.

    Est-ce que j'ai raison, ou bien est-ce que cette syntaxe est-elle spécifique et a une raison d'être.
    PS: La différence entre les deux codes est sur les accolades.
    PS2: MaClasse n'est pas IDisposable
    Merci
    Soazig

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    y'a des instructions entre tes deux déclarations ?
    Si oui c'est peut-être le code d'un ancien développeur C ?
    Le pire c'est qu'il semble qu'on ne puisse pas se servir de cette syntaxe pour faire des pseudo regions en C#.

    In fine, pour moi tu as raison : les deux formes du code que tu nous présentes sont identiques.

  3. #3
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Les accolades forment juste un bloc de code ; ça permet de limiter la portée de variables, qui du coup ne sera plus accessible après le bloc et potentiellement éligible à la collection par le GC (sous réserve qu'elle ne soit plus référencée ailleurs).
    L'équivalent sans accolades serait donc plutôt quelque chose comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MaClasse monObjet = new MaClasse();
    MaClasse2 element = monObjet.GetByID(monId);
    //Faire quelque chose avec element
    element = null;

Discussions similaires

  1. [MySQL] right syntax to use near 's' )' at line 5 avec INSERT INTO
    Par monlou dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 23/07/2010, 20h42
  2. Erreur de syntax to use near ' 25'
    Par nox77 dans le forum Langage
    Réponses: 4
    Dernier message: 10/07/2010, 00h10
  3. [MySQL] Problème de syntax to use near '
    Par Gogad dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/04/2010, 21h11
  4. Connaitre l'unitée à ajouter dans USES
    Par DelphiCool dans le forum Langage
    Réponses: 7
    Dernier message: 01/08/2002, 13h48

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