Académique Documents
Professionnel Documents
Culture Documents
NET
L'IDE commun et incontournable de tous les langages Paradigme Orienté objet, Structuré
.NET est Visual Studio. Celui-ci est payant (la licence est et Impératif
propriétaire) mais dispose d'une version gratuite pour les Auteur Microsoft
développeurs et petites sociétés (CA inférieur à un million Dernière version VB 16.0 (2019)
de dollars) nommée Visual Studio Community. Typage Statique, Fort et
nominatif
Une autre version gratuite existe, limitée à un seul
Dialectes VB7 (VS2003), VB8
langage : Visual Studio Express. (VS2005), VB9
(VS2008), VB10
D'autres IDE gratuits existent, comme SharpDevelop ou (VS2010)
MonoDevelop, mais ceux-ci sont moins évolués que
Influencé par Visual Basic, C#
Visual Studio.
Implémentations .NET Framework, Mono
Licence Roslyn compiler, Apache
Versions License 2.0 2
Site web docs.microsoft.com/en-
us/dotnet/visual-basic (ht
Évolutions : de VB6 à VB7 (non tps://docs.microsoft.com/
exhaustif) en-us/dotnet/visual-basi
c/) et
Qu'est-ce qui différencie VB6 (Visual Basic 6) par rapport docs.microsoft.com/ja-
à VB7 (Visual Studio 2003) ? : jp/dotnet/visual-basic (htt
ps://docs.microsoft.com/j
a-jp/dotnet/visual-basic/)
L'orientation objet fait son apparition avec
notamment l'intégration de la technologie de Extension de
vb
l'héritage, qui jusqu'à ce jour limitait fichier
l'industrialisation du code Visual Basic (VB6
n'était pas un langage orienté objet à proprement parler).
L'intégration de l'environnement de développement (IDE) dans la suite Visual Studio
permettant d'utiliser d'autres langages comme Visual C++ ou Visual C#. Une bibliothèque
de fonction faite en C# sera totalement compatible et
utilisable dans une application VB.NET.
Le code produit par VB.NET est compilé dans un
même langage intermédiaire qu'on appelle le CIL
(Common Intermediate Language) ou MSIL (Microsoft
Intermediate Language). Ce langage est le même que
le résultat d'une compilation de C#.
La connexion aux bases de données est facilitée par
Capture d'écran de MonoDevelop
l'amélioration des outils de glisser-déposer et
l'utilisation de la dernière technologie ADO, ADO.NET.
La technologie XML est intégrée nativement dans .NET, ce qui permet la création plus
facile d'application en ligne ou de sauvegarde de données.
Le générateur de code SQL est beaucoup plus performant.
L'écriture de gestionnaires d'erreurs tient compte du Multithreading via des blocs
TRY/CATCH.
La portée des instructions GOTO est limitée (les sauts ne peuvent se faire qu'au sein d'une
même fonction). Ce comportement est dû au fonctionnement-même de la plateforme .NET
et est commun à tous les langages .NET : C#, J#, etc.
La déclaration des variables est rendue obligatoire par défaut (contrairement au Visual
Basic 6 où cette fonctionnalité était désactivée par défaut).
L'intégration de nouvelles classes d'objet .NET s'est faite tout en permettant pour les
versions intermédiaires de réutiliser les objets .COM rendant la migration plus facile de
Visual Basic 6 à VB Net. VB.NET est le seul langage de .NET à avoir une intégration « en
profondeur » des objets COM.
Les pointeurs vers des fonctions peuvent et doivent (dans 99 % des cas) désormais être
typés (notion de délégués).
Les classes partielles, permettant de répartir l’implémentation d’une classe sur plusieurs
fichiers.
Les types génériques, évolution typée des templates C++.
Les types « nullables », c'est-à-dire la possibilité de spécifier qu’un type de valeur peut
être nul. Ceux-ci sont déclarés avec le caractère point d'interrogation « ? » suivant le nom
du type, comme ceci : Dim X as Integer? = Nothing (VB9) ou avec une classe
particulière (VB8+). Cette valeur « Nothing » serait, si le « ? » n'était pas spécifié, converti
en 0 dans ce cas-ci. Dans le nouveau système, (X+10) vaudrait « Nothing » (Nothing est
absorbant dans tous les opérateurs), et pas 10 comme cela aurait été le cas autrement.
Tout membre d'une valeur « vide » est « vide ».
La documentation est automatiquement générée depuis des commentaires spéciaux dans
le code.
' Les lignes qui suivent sont toutes facultatives, mais conseillées
' Elles sont automatiquement transformées en documentation
''' <summary>Point d'entrée du programme</summary>
''' <param name="Args">Les arguments en ligne de commande passé au programme</param>
Public Sub Main(ByVal Args As String())
End Sub
End Module
Boucles et conditions
'
' Une simple condition IF
'
If XCondition = 3 Then
' XCondition vaut 3
ElseIf YCondition <> 4 Then
' XCondition ne vaut pas 3
' YCondition ne vaut pas 4
ElseIf ZCondition Is AnotherObject
' XCondition ne vaut pas 3
' YCondition vaut 4
' ZCondition et AnotherObject renvoient vers le même objet
Else
' Aucune des conditions précédentes n'a été rencontrée
End If
'
' Un Select Case optimisé (Switch en C#)
'
Select Case X
Case 0
' X = 0
Case 1
' X = 1
Case 2
' X = 2
Case Else
' X <> 1
End select
'
' Un SELECT CASE translaté en IF/ELSE IF à la compilation
'
Select Case Y
Case Is < 3
' Y < 3
Case 3
' Y = 3
Case Else
' Y > 3 dans ce cas
End Case
'
' Boucle WHILE
'
While ImTrue
' ImTrue est vrai
' Ici on change la valeur de ImTrue
ImTrue = False
End While
' ImTrue n'est plus vrai
'
' Boucle Do...Loop
'
ImFalse = False
Do
' Aucune condition n'a été appliquée si c'est la première fois
' Sinon, c'est que ImFalse n'est pas faux
' Dans cet exemple, le code n'est pas relancé une {{2e}} fois
Loop Until ImFalse = False
' ImFalse est bien faux
'
' Boucles For et For Each
'
For X As Integer = 0 to 9
' Ce code sera exécuté 10 fois
Next
Les tableaux
Exemples :
Try
My.Computer.FileSystem.FileReadBytes("C:\Chemin\Fichier.ext")
Catch Ex as FileNotFoundException 'Pour l'erreur Fichier introuvable
MessageBox.Show("Impossible trouver le fichier", "Erreur")
Catch Ex as Exception 'Pour les autres erreurs.
MessageBox.Show("Une erreur inconnue s'est produite. Erreur renvoyée: " & ex.Message,
"Erreur")
End Try
'Remarquez que ex récupère les données
'de l'erreur, permettant de les traiter.
'Il y a d'autres options que Message. Consultez la documentation Visual Basic .NET pour en
savoir plus.
Try
SomeUnknownCOMObject.DoSomething()
Catch Ex as COMExcpetion When Ex.ErrorCode = 4
' The object was of the excpected type but he throwned
' an error with [[HRESULT]] 4, which is possible as the
' documentation of the object says (it's an exemple).
MessageBox.Show("L'objet n'était pas prêt")
' Throw some new Application-Specific error.
Throw new Exception ("The object was not ready.")
Catch Ex as Exception
' Display some message
MessageBox.Show("Une erreur inconnue s'est produite", "Erreur")
' But throw the (same) exception
Throw
Finally
' Quoi qu'il se passe, on fait cela
' Même si une erreur est survenue, ce code sera lancé
Try : SomeUnkwnowCOMOBject.DoSomethingAnyWay() : Catch ex as Exception : End Try
End Try
' Retourne un énumérateur qui renvoie tous les noms des fenêtres enfants qui sont des
éditeurs de texte
' Visual Studio 2008 trouve le type de la variable automatiquement, similaire au "var" du C#
Dim AllText = From CW in MyFormInstance.ChildWindows
Where CW.GetType() is GetType(MyTextEditorWindow)
Select CW.Text
' Crée un objet XML (un Document XML, pas une chaine de caractère)
' Visual Studio 2008 trouve le type de la variable automatiquement, similaire au "var" du C#
Dim XMLDoc = _
<root><% For Each Item in Items %>
<item name="<%= Item.Name %>" />
<% Next %></root>
' Sauvegarde dans un fichier le document XML
XMLDoc.Save("FileName.xml")
' Déclaration des objets (fonctions, événements, ...) pour la fenêtre Form1
Public Class Form1
Identité visuelle
Voir aussi
Sur les autres projets Wikimedia :
Visual Basic .NET, sur Wikibooks
Articles connexes
Microsoft .NET
Visual Studio
C#
Visual Basic
BASIC
Notes et références
1. « Visual Studio 2022 version 17.9.2 Release Notes (https://learn.microsoft.com/en-us/visualst
udio/releases/2022/release-notes#17.9.2) », 27 février 2024 (consulté le 27 février 2024)
2. https://github.com/dotnet/roslyn/blob/1ff27b046b5c03abb38bfeda44eb82da0b8df9de/License
.txt
Liens externes
Centre de développement Visual Basic (https://msdn.microsoft.com/fr-fr/library/2x7h1hfk.as
px), site MSDN de Microsoft
Spécifications du langage Visual Basic (https://www.microsoft.com/en-us/download/detail
s.aspx?id=15039)
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Visual_Basic_.NET&oldid=211175153 ».