[VB.NET] Initialisation et comparaison

Initialisation et comparaison [VB.NET] - C#/.NET managed - Programmation

Marsh Posté le 11-02-2003 à 13:25:57    

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 ?

Reply

Marsh Posté le 11-02-2003 à 13:25:57   

Reply

Marsh Posté le 11-02-2003 à 13:48:27    


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)
Reply

Marsh Posté le 11-02-2003 à 13:51:35    

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 = ).

Reply

Marsh Posté le 11-02-2003 à 13:53:24    

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
Reply

Marsh Posté le 11-02-2003 à 16:04:56    

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.

Reply

Marsh Posté le 12-02-2003 à 14:44:31    

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

Reply

Marsh Posté le 12-02-2003 à 15:01:04    

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

Reply

Marsh Posté le 12-02-2003 à 15:22:10    

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 ?

Reply

Marsh Posté le 12-02-2003 à 15:29:25    

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é)

Reply

Marsh Posté le 12-02-2003 à 15:30:16    

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)
Reply

Marsh Posté le 12-02-2003 à 15:30:16   

Reply

Marsh Posté le 12-02-2003 à 15:35:44    

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

Reply

Marsh Posté le 12-02-2003 à 15:38:28    

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)
Reply

Marsh Posté le 12-02-2003 à 15:43:20    

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...)

Reply

Marsh Posté le 12-02-2003 à 15:46:13    

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)
Reply

Marsh Posté le 12-02-2003 à 16:01:51    

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

Reply

Marsh Posté le 12-02-2003 à 16:10:06    

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)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed