Desenvolvimento - Visual Basic .NET

Comparação de Sintaxe de Linguagens no .NET

Entre as principais linguagens hoje suportadas pela .NET Framework estão o VB.NET (Visual Basic .NET) e C# (CSharp). Este artigo dá uma idéia entre as principais diferenças entre elas.

por Israel Aéce



Entre as principais linguagens hoje suportadas pela .NET Framework estão o VB.NET (Visual Basic .NET) e C# (CSharp).

A diferença entre elas é sintática. Para dar uma idéia entre as principais diferenças entre elas, abaixo colocarei lado à lado para tal comparação.

* Declaração de Variáveis:

Visual Basic .NET

C#

Visual Basic .NET

C#

Get

Return …

End Get

Set(Value As String)

… = Value

End Set

Dim x As String = ComParametros(“C#”, “VB.NET”)

arr[0] = “Arrays”;

arr[1] = “no”;

arr[2] = “C#”;


OBS.: No VB.NET o número é o limite, já no C# é o número de elementos do Array.

* Inicialização de Variáveis:

Visual Basic .NET

C#

Dim s As String = “VB.NET”

Dim i As Integer = 1245

Dim a As String = {“Array”, “no”, “VB.NET”}

string s = “CSharp";

int i = 1245;

string[] a = {“Array”, “no”, “CSharp”};

* Instruções Case:

Visual Basic .NET

C#

Select Case Linguagem

Case “VB.NET”

Case “CSharp”

Case Else

End Select

switch (Linguagem) {

case “VB.NET”:

break;

case “CSharp”:

break;

default:

break;

}

* Tratamento de Exceções:

Visual Basic .NET

C#

Try

‘ Código a gerenciar

Catch ex As Exception

‘ Captura a Exceção

Finally

‘ Código Final

End Try

try {

// Código a gerenciar

} catch(Exception ex) {

// Captura a Exceção

} finally {

// Código Final

}

* Concatenação de Strings:

Visual Basic .NET

C#

Dim str1, str2 as String

str1 = “Olá “

str1 &= “Mundo”

str2 = str1 & “ !!!”

string str1;

string str2 = “Olá “;

str2 += “Mundo”;

str1 = str2 + “ !!!”;

* Declaração de Eventos:

Visual Basic .NET

C#

Public Event EventoTeste(Sender as Object, e as EventArgs)

Protected Sub InvocaEvento(e as EventArgs)

RaiseEvent EventoTeste(Me, e)

End Sub

public event EventHandler EventoTeste;

protected void InvocaEvento(EventArgs e) {

EventoTeste(this, e);

}

* Laços For:

Visual Basic .NET

C#

Dim i as Integer

For i = 0 To 5

a(i) = “Laço For em VB.NET”

Next

for (int i = 0; i<6; i++)

a(i) = “Laço For em C#”;

* Enumerando Coleções:

Visual Basic .NET

C#

Dim s as String

For Each s In Colecao

Next

for each (string s in Coleção) {

}

* Laços While:

Visual Basic .NET

C#

Dim i as Integer = 0

Do While i < 5

Console.WriteLine(i.ToString)

i += 1

Loop

int i = 0;

while (i<5) {

Console.WriteLine(i.ToString);

i += 1

}


OBS.: Todas as KeyWords do C# são em lowercase, ou seja, minúsculas.

CONCLUSÃO: Desenvolvedores que utilizam VB ou VBA se sentirão mais à vontade utilizando VB.NET, já o pessoal que vem do Java ou C/C++ tenderão para o C#. Mas apesar de sintaticamente diferentes, as duas linguagens (VB.NET e C#) são compreensíveis quando conhecemos a .NET Framework.

Israel Aéce

Israel Aéce - Especialista em tecnologias de desenvolvimento Microsoft, atua como desenvolvedor de aplicações para o mercado financeiro utilizando a plataforma .NET. Como instrutor Microsoft, leciona sobre o desenvolvimento de aplicações .NET. É palestrante em diversos eventos Microsoft no Brasil e autor de diversos artigos que podem ser lidos a partir de seu site http://www.israelaece.com/. Possui as seguintes credenciais: MVP (Connected System Developer), MCP, MCAD, MCTS (Web, Windows, Distributed, ASP.NET 3.5, ADO.NET 3.5, Windows Forms 3.5 e WCF), MCPD (Web, Windows, Enterprise, ASP.NET 3.5 e Windows 3.5) e MCT.