Initialisation d'une structure par défaut. [Résolu]

Nardo26 4 Messages postés samedi 13 janvier 2018Date d'inscription 13 janvier 2018 Dernière intervention - 13 janv. 2018 à 11:43 - Dernière réponse : Whismeril 12215 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 12 novembre 2018 Dernière intervention
- 14 janv. 2018 à 08:45
Bonjour à tous,

Je bloque sur un truc tout bête : comment initialiser une structure avec des valeurs par défaut ?

Par analogie avec un tableau d'entier j'écrirai ceci :

        Public structure SConfig
             Public Champ1 As Integer
             Public Champ2 As String
        End Structure
 
        Private _monTab() As Integer = {4, 5, 6}
        Private _maStruct As SConfig = ????


Je pourrais très bien à la place d'une structure, déclarer une classe avec un constructeur mais cela me parait lourd.
Il n'existe pas un moyen plus simple ?
Afficher la suite 

Votre réponse

6 réponses

Nardo26 4 Messages postés samedi 13 janvier 2018Date d'inscription 13 janvier 2018 Dernière intervention - 13 janv. 2018 à 11:45
0
Merci
Oups !
Désolé, je viens de trouver la réponse....
vb95 1696 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 12 novembre 2018 Dernière intervention - 13 janv. 2018 à 18:09
Bonjour
Tu as trouvé toi-même la réponse : ce serait bien de la partager sur le site
Nardo26 4 Messages postés samedi 13 janvier 2018Date d'inscription 13 janvier 2018 Dernière intervention > vb95 1696 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 12 novembre 2018 Dernière intervention - 13 janv. 2018 à 21:09
Bonsoir,
Apres avoir validé mon message, des liens relatifs à ma demande se sont affichés en dessous...
Je ne suis pas encore habitué au module de recherche du site. D'où ma question un peu trop hâtive..
Commenter la réponse de Nardo26
Whismeril 12215 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 12 novembre 2018 Dernière intervention - 13 janv. 2018 à 19:03
0
Merci
Bonjour

il est déconseillé d'utiliser les structures en VB.Net.
Une classe est préférable, car une classe décrit un objet et VB.Net est un langage objet.

Attention toutefois, il y a une différence fondamentale de comportement:
La structure est un type valeur alors qu'une classe est un type référence, voir ici pour plus d'informations.
Ceci fait qu'utiliser des structures est plus gourmand en ressources.

Pour une classe, tu peux faire cela
Sconfig = New Sconfig With {.Champ1 = "1", .Champ2 = "deux"}
à la condition de ne pas avoir de constructeur, ou avoir un constructeur sans paramètre.
Nardo26 4 Messages postés samedi 13 janvier 2018Date d'inscription 13 janvier 2018 Dernière intervention - 13 janv. 2018 à 21:19
Si l'on souhaite organiser des données dans une classe, l'utilisation d'une structure n'est pas conseillée ?
Whismeril 12215 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 12 novembre 2018 Dernière intervention > Nardo26 4 Messages postés samedi 13 janvier 2018Date d'inscription 13 janvier 2018 Dernière intervention - 14 janv. 2018 à 08:45
Ben non, l'idée d'un langage objet est que chaque objet puisse avoir sa vie. Une structure ne peut pas disposer de méthodes ou d'événements donc dépend d'un autre objet. C'est un reliquat des langages précédents.
Et en plus c'est plus gourmand en mémoire.
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.