Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
859 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [VB.NET] Initialisation et comparaison

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB.NET] Initialisation et comparaison

n°306280
kill9
Il a été tué vivant.
Posté le 11-02-2003 à 13:25:57  profilanswer
 

Bonjour à tous
 
Je commence le VB.NET et je suis hyper habitué à la syntaxe du C.
Par ex:
Pour initialiser les variables je fais
iBudget = 0;
et pour la comparaison je fais
iBudget == iPrevision;
(oui je sais, j'ai zappé le if)
 
Mais en VB.NET apparement on ne metterai qu'un seul signe '='
D'où ma confusion et ma demande:
Si je fais un == en VB.NET ça marche ?
Comment faire une difference entre une comparaison et une initialisation ?

mood
Publicité
Posté le 11-02-2003 à 13:25:57  profilanswer
 

n°306300
drasche
Posté le 11-02-2003 à 13:48:27  profilanswer
 


a = b = 1

renverra un booléen en a, résultant d'une comparaison entre b et 1.
 


a = 1

est une assignation.
 
 
et


if a = 1 then  

est toujours considéré comme une comparaison.
 
Tu peux pas faire d'assignation dans une condition si c'est cela que tu sous-entendait.


Message édité par drasche le 11-02-2003 à 13:50:33

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°306304
kill9
Il a été tué vivant.
Posté le 11-02-2003 à 13:51:35  profilanswer
 

Je dis juste ça mais je commence à me demander si je n'aurais pas dû directement passer au C# car j'ai du mal à lire du code dès que je tombe sur une comparaison VB.NET ( 1 seul = ).

n°306305
kill9
Il a été tué vivant.
Posté le 11-02-2003 à 13:53:24  profilanswer
 

Arf !
CrossPosting :) :)
 
 
"Tu peux pas faire d'assignation dans une condition si c'est cela que tu sous-entendait."
 
 
comme ca g pigé
Merci à toi  :jap:  :jap:


Message édité par kill9 le 11-02-2003 à 13:54:52
n°306471
MagicBuzz
Posté le 11-02-2003 à 16:04:56  profilanswer
 

Le mieu, si tu connais le C, fait directement du C#.
 
C'est la même syntaxe.
 
Le VB.NET est uniquement une interface permettant une autre syntaxe dérivée du VB. Les capacités des deux langages sont les mêmes, et leur structure est la même. Seule la syntaxe change.

n°307503
Oreste
Posté le 12-02-2003 à 14:44:31  profilanswer
 

C est clair que tu va perdre du temps si tu ne connais pas la syntaxe VB (qui n est pas très dur en pratique), y a aussi quelques petites différence entre les 2, l'instructions "For each" n existe pas en C# il me semble, et ca je trouve bien sympa :d

n°307524
MagicBuzz
Posté le 12-02-2003 à 15:01:04  profilanswer
 

Sisi :
 
Par exemple, pour afficher le contenu de toutes filles d'une node dans un fichier XML :
 

           foreach(System.Xml.XmlNode tmpNode in node.ChildNodes)
            {
                foreach(System.Xml.XmlNode tmpNode2 in tmpNode.ChildNodes)
                {
                    Resultat.Text += tmpNode2.InnerText + "<br>";
                }
                Resultat.Text += "<hr>";
            }


 
Le seul truc, c'est qu'il faut indiquer le type du sous-élément.
 
Plus puissant qu'en VB classique, puisqu'on n'est pas contraint à une collection mono-type, et qu'on peut différencier des éléments déclarés en variant

n°307560
Oreste
Posté le 12-02-2003 à 15:22:10  profilanswer
 

MagicBuzz a écrit :

Sisi :
 
Par exemple, pour afficher le contenu de toutes filles d'une node dans un fichier XML :
 

           foreach(System.Xml.XmlNode tmpNode in node.ChildNodes)
            {
                foreach(System.Xml.XmlNode tmpNode2 in tmpNode.ChildNodes)
                {
                    Resultat.Text += tmpNode2.InnerText + "<br>";
                }
                Resultat.Text += "<hr>";
            }


 
Le seul truc, c'est qu'il faut indiquer le type du sous-élément.
 
Plus puissant qu'en VB classique, puisqu'on n'est pas contraint à une collection mono-type, et qu'on peut différencier des éléments déclarés en variant


 
Ha ok j avais pas vu ca, en VB aussi il faut bien declarer le type du sous element (a la declaration de l'objet)
 
Par contre pour le type Variant ca a pas été viré sur NET ?

n°307574
MagicBuzz
Posté le 12-02-2003 à 15:29:25  profilanswer
 

Je ne sais pas.
 
Etant donné que .NET supporte la surcharge, a priori, oui.
 
(variant n'était qu'un moyen de surcharger implicitement une fonction, laissant à l'interpréteur la tâche de choisir quel code était le plus adapté)

n°307578
drasche
Posté le 12-02-2003 à 15:30:16  profilanswer
 

le variant a été viré.  il faut utiliser object à la place.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
mood
Publicité
Posté le 12-02-2003 à 15:30:16  profilanswer
 

n°307593
MagicBuzz
Posté le 12-02-2003 à 15:35:44  profilanswer
 

Euh... Ouais ben c'est pareil quoi :D

n°307597
drasche
Posté le 12-02-2003 à 15:38:28  profilanswer
 

MagicBuzz a écrit :

Euh... Ouais ben c'est pareil quoi :D


oui et non.  t'as vu les méthodes des objets Int, String, Double, etc etc? [:spamafote]
 
ben ouais tout est objet maintenant :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°307603
MagicBuzz
Posté le 12-02-2003 à 15:43:20  profilanswer
 

Ben ouais, c terrible :D
 
Mais en VB aussi ça l'était, mais invisible. C'est ça qui permet de faire des transtypages implicites de oufs qui finissent généralement par te péter à la gueule quand tu fait trop le porc :D
 
Notamment, en VB, on peut faire :
 
dim a as integer
dim b as string
 
a = "2" ' pas d'erreur
b = 2   ' pas d'erreur
 
msgbox(a = b) ' true (bleuffant quoi...)

n°307604
drasche
Posté le 12-02-2003 à 15:46:13  profilanswer
 

dans le genre à vomir on peut faire:
 


Dim a As String
Dim b As Integer
 
a = "A"
b = a


je te laisse deviner où ça plantera à l'exécution :whistle:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°307621
MagicBuzz
Posté le 12-02-2003 à 16:01:51  profilanswer
 

Ben c clair que quand on veut être porc, VB est très bon pour ça (il a pas grand chose à envier au C tout de même ;))
 
Mais par contre, je trouve que quand un réel effort de propreté est fait, VB est bien plus agréable a lire que du C. Bon, je suis peu habitué au C et beaucoup au VB, c peut-être pour ça, mais généralement, maintenir du code VB ne me pose aucun problème, même quand c'est une merde de VBA généré en faisant "enregistrer macro" dans le pack office, alors que le C... A chaque fois c'est le cauchemar

n°307628
drasche
Posté le 12-02-2003 à 16:10:06  profilanswer
 

c'est marrant je suis dans ma phase "vb sux et C++/ASM rox0r" :ange:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [VB.NET] Initialisation et comparaison

 

Sujets relatifs
[VS .NET] Comment afficher le code VB.NET comme dans VB6 ?comparaison d'images
[Perl] Comment ignorer la casse dans une comparaison ?comparaison de chaine "case-insensitive" en c++
"out of memory" dans la liste d'initialisationConférence Microsoft .NET
Source control avec Visual Studio .NETComparaison de tableau en PHP
problème de comparaison de date (mysql)..Net/C#, ça marche sous Wion98?
Plus de sujets relatifs à : [VB.NET] Initialisation et comparaison


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR