Nardo26
Messages postés37Date d'inscriptionsamedi 13 janvier 2018StatutMembreDernière intervention 1 mars 2021
-
13 janv. 2018 à 11:43
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023
-
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 ?
Nardo26
Messages postés37Date d'inscriptionsamedi 13 janvier 2018StatutMembreDernière intervention 1 mars 2021 13 janv. 2018 à 11:45
Oups !
Désolé, je viens de trouver la réponse....
vb95
Messages postés3418Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention31 mai 2023165 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
Messages postés37Date d'inscriptionsamedi 13 janvier 2018StatutMembreDernière intervention 1 mars 2021
>
vb95
Messages postés3418Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention31 mai 2023 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..
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 13 janv. 2018 à 19:03
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
Messages postés37Date d'inscriptionsamedi 13 janvier 2018StatutMembreDernière intervention 1 mars 2021 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
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624
>
Nardo26
Messages postés37Date d'inscriptionsamedi 13 janvier 2018StatutMembreDernière intervention 1 mars 2021 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.
13 janv. 2018 à 18:09
Tu as trouvé toi-même la réponse : ce serait bien de la partager sur le site
13 janv. 2018 à 21:09
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..