Visual Basic .NET

Visual Basic (Visual Studio)
Logo.
Data pierwszej wersji 2001
Paradygmat Zorientowany obiektowo , ustrukturyzowany i imperatywny
Autor Microsoft
Ostatnia wersja VB 16.0 ( 2019 )
Pisanie na maszynie Statyczny , silny i mianownik
Dialekty VB7 (VS2003), VB8 (VS2005), VB9 (VS2008), VB10 (VS2010)
Wpływem Visual Basic , C #
Wdrożenia .NET Framework , Mono
Licencja Kompilator Roslyn , licencja Apache 2.0
Stronie internetowej docs.microsoft.com/en-us/dotnet/visual-basic

Visual Basic .NET to język programowania o składni podobnej do Visual Basic 6 .

VB.NET umożliwia programowanie w .NET przez Visual Studio na systemach operacyjnych Windows (98, 2000, XP, Vista, 7, 8, 8.1 i 10). Jak każdy inny język na platformie .NET, VB.NET jest kompilowany do języka pośredniego CIL .

IDE (środowiska programistyczne)

Wspólnym i obowiązkowym IDE wszystkich języków .NET jest Visual Studio . Jest to płatne (licencja zastrzeżona), ale ma darmową wersję dla programistów i małych firm (obrót poniżej miliona dolarów) o nazwie Visual Studio Community.

Istnieje inna bezpłatna wersja, ograniczona do jednego języka: Visual Studio Express .

Istnieją inne darmowe IDE, takie jak SharpDevelop lub MonoDevelop , ale są one mniej zaawansowane niż Visual Studio.

Wersje

Ewolucje: od VB6 do VB7 (nie jest wyczerpująca)

Co odróżnia VB6 ( Visual Basic 6) od VB7 ( Visual Studio 2003)? :

Ewolucje: VB7 do VB8 (nie jest wyczerpująca)

Pomiędzy VB7 i VB8 pojawiły się nowe funkcje, ale to przede wszystkim przejście z platformy .NET 1.1 na 2.0 oznacza tę ewolucję.

Oto podsumowanie:

Ewolucje: VB8 do VB9 (nie jest wyczerpująca)

VB9 oczywiście zaimplementował wszystkie nowe funkcje w C #, a także kilka innych:

Ewolucje: VB9 do VB10

VB10 (zwany również VBx) oznacza główny punkt zwrotny w ewolucji VB. Oprócz tego, że zostanie zintegrowany z Framework 4, powinien przede wszystkim całkowicie nadrobić swoje „opóźnienie” w porównaniu z C # w pewnych punktach (tak jak C # nadrobi opóźnienie względem VB), biorąc pod uwagę, że „ ko-ewolucja ”C # i VB.NET została oficjalnie ogłoszona. Zapewnia to nie tylko stabilną przyszłość dla VB.NET, której Microsoft nie może zaniedbać, ale także gwarancję, że wszystko, co da się zrobić w C #, zawsze będzie zrobione pod VB.NET (nawet jeśli pochodzi z innej strony).

Funkcje zaplanowane dla VBx:

Niektóre różnice między C # i VB.NET (nie są wyczerpujące)

Oto najbardziej rażące różnice między VB.NET i C # (VB.NET i C # ewoluują, elementy na tej liście mogą być nieaktualne):

Pełniejsza lista różnic (stan na 2005 r.) Między językami C # i VB.NET znajduje się tutaj .

Niektóre przykłady kodu w VB.NET

Hello World w VB.NET (tryb konsoli)

Public Module HelloWorld ' 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()) ' Écrire dans la console Console.WriteLine("Hello World!") ' Attendre que l'utilisateur appuie sur une touche Console.ReadKey(False) End Sub End Module

Hello World w VB.NET (tryb Windows Forms)

Public Class Form1 Public Sub AfficheMessage() '1ère solution (Fonctionne aussi en VBScript) MsgBox("Hello World!") '2ème solution MessageBox.Show("Hello World!") 'Autre design MsgBox("Hello World", MsgBoxStyle.Critical, "Titre, hello world") 'OU MsgBox("Hello World", MsgBoxStyle.Information, "Titre, hello world") End Sub End Class

Pętle i warunki

' ' 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 For X As Integer = 10 To 1 Step -1 ' Ce code sera exécuté 10 fois en sens inverse Next For Each Element As ElementType In Array ' Ce code sera exécuté autant de fois qu'il y a d'éléments de type ElementType dans Array Next

Stoły

'Créer un tableau de texte, vide et de taille infini Dim Tableau() As String 'Créer un tableau de nombres naturels, vide et de taille infini Dim Tableau() As Integer 'Créer un tableau de nombres réels, vide et de taille infini Dim Tableau() As Double 'Assigne une valeur à la première case du tableau Tableau(0) = "Case de tableau" Tableau(0) = 1 Tableau(0) = 1.5 'Créer un tableau de texte de deux lignes et deux colonnes de texte et vide Dim Tableau(2,2) As String 'Créer un tableau de texte de deux colonnes et une ligne comportant "Bonjour" et "Au revoir" Dim Tableau() As String = {"Bonjour", "Au revoir"} 'Créer un tableau de texte de deux colonnes et deux lignes Dim Tableau(,) As String = {{"Colonne 1, ligne 1","Colonne 2, ligne 1"}, {"Colonne 1, ligne 2", "Colonne 2, ligne 2"}} ''Créer un tableau puis le redimensionner en sauvegardant les valeurs 'Créer un tableau de dix lignes et dix colonnes Dim Tableau(9,9) As String 'Redimensionner en vingt lignes et vingt colonnes en préservant les valeurs Redim Preserve Tableau(19,19) 'Effacer toutes les valeurs du tableau en récupérant l'espace Erase Tableau 'Réinitialisation du tableau Tableau à partir de l'élément 1 et pour 5 éléments Array.Clear(Tableau, 1, 5)

Obsługa wyjątków

VB.NET zawiera instrukcje try and catch do obsługi wyjątków (nieoczekiwane zachowanie instrukcji programu).

Przykłady:

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

Przykład użycia LINQ

' 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")

Przykład prostego wydarzenia

' Déclaration des objets (fonctions, événements, ...) pour la fenêtre Form1 Public Class Form1 ' Lorsque l'utilisateur clique sur l'objet Button1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() ' On ferme la fenêtre parente (grâce à Me) donc l'application End Sub End Class

Przykład kodu wywołującego funkcję

Public Class Form1 ' Création de la fonction Quitter avec un Private Sub Private Sub Quitter() Me.Close() End Sub ' Lorsque l'utilisateur clique sur l'objet Button1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Call Quitter() ' On appelle Private Sub Quitter() End Sub ' Lorsque l'utilisateur clique sur l'objet Button2 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Call Quitter() ' L'avantage de ce code, c'est qu'on peut appeler Quitter() autant de fois que l'on souhaite End Sub End Class

Identyfikacja wizualna

Zobacz też

Powiązane artykuły

Uwagi i odniesienia

  1. https://github.com/dotnet/roslyn/blob/1ff27b046b5c03abb38bfeda44eb82da0b8df9de/License.txt

Linki zewnętrzne