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 :

Question technique sur le retour d'une fonction et déclaration d'objets avec New


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Points : 61
    Points
    61
    Par défaut Question technique sur le retour d'une fonction et déclaration d'objets avec New
    Salut tout le monde

    Je me demande quelle est la différence entre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function a() as DataTable
    a = New DataTable 'Est-on obligé ici de faire New ?
    End Function
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function a() as DataTable
     Dim b as New DataTable
    a = b
    'ou bien
    Return b
    End Function
    De plus, est-ce qu'il y a une différence entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim a as New DataTable
    Dim a as DataTable = New DataTable
    Aussi je me demande si c'est cohérent ou une mauvaise pratique de programmation de faire quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim pencil As New Pen(New SolidBrush(mFocusRectColor))
    je veux dire déclarer à l'intérieur même de l'appel de la fonction un type SolidBrush, au lieu de l'avoir déclaré avant et puis ensuite passer en paramètre, outre bien sûr la lisibilité du code, quoique ici je trouve cela plus visible on n'a pas à chercher la variable ou elle est déclaré, puisque elle est sur place.

    Merci pour vos conseils

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    pour tes datatables aucune différences mais il faut bien faire un new quand meme quelque part
    une fonction as machin signifie juste qu'on va retourner un machin ca n'en créé pas un, car des fois on peut retourner une variable autre



    pour ta déclaration mutliple sur une seule ligne, c'est moyennement lisible, mais c'est faisable

    si tu codes pour toi, tu fais comme tu préfères, le mieux étant de faire à peu près tout le temps pareil

    moi je préfère faire 3 dim puis un appel qu'un appel avec 3 new dedans qui prendrait 3 lignes

    si quelqu'un relit derrière il est moins perdu

    et pour débugger c'est mieux d'avoir 4 lignes, car on voit le contenu de chaque variable, et au cas où sur quelle ligne ca plante
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Tu sembles confondre la déclaration d'un objet et son instanciation :

    Déclaration :
    Cette instruction déclare que tu vas utiliser une variable nommée x de type DataTable. Mais x n'est pas initialisé, et vaut donc Nothing.

    Instanciation :
    Cette instruction crée une instance de DataTable, et l'affecte à la variable x. On dit que x est une référence vers une instance de DataTable.

Discussions similaires

  1. Retour a la ligne sur le résultat d'une fonction
    Par bastounseb dans le forum Langage
    Réponses: 9
    Dernier message: 01/10/2014, 01h59
  2. Question technique sur une scène 3D
    Par Thorna dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 16/06/2011, 13h23
  3. Réponses: 7
    Dernier message: 02/01/2008, 14h32
  4. reference sur le retour d'une fonction
    Par yan dans le forum C++
    Réponses: 7
    Dernier message: 21/11/2007, 16h42
  5. Réponses: 5
    Dernier message: 13/10/2005, 12h46

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