Escolar Documentos
Profissional Documentos
Cultura Documentos
VB.NETeCSharpComparando
VB.NETouC#?Eisaquesto...
Atendendo diversos pedidos neste artigo eu vou falar um pouco sobre C# ; no que eu seja um perito em C#
, mas como estou trabalhando com Java h algum tempo sintome a vontade para falar sobre C# devido a
similaridade 'assombrosa' ( ) entre estas duas linguagens.
Como no pretendo abandonar o Visual Basic vou neste artigo fazer uma comparao entre as duas
linguagens : VB.NET e C# em alguns pontos chaves. Com isto pretendo mostrar que C# no um bicho de 7
cabeas ( talvez 5... ).
Vamos ao que interessa...
1 A apresentao do Cdigo
Quando voc for codificar em C# deve colocar o ponto e vrgula no
final de cada linha de cdigo. (Igual ao Java)
Ex: private string nome; int contador = 10;
Em C# voc pode agrupar blocos de cdigo dentro de um par de
chaves (Cada chave aberta deve ser fechada) : { }
Ex:
if (x == 10)
{
System.out.println(" Cdigo em C#");
}
Em C# todas as variveis devem estar declaradas com um tipo de
dados
Ex: String nome = "Macoratti" ;
2 Declarao de variveis
No Visual Basic .NET usamos a seguinte sintaxe: <escopo> <varivel> As <tipo> ou <escopo>
<varivel> As <tipo> = <valor>
Em C# declaramos variveis da seguinte forma: <escopo> <tipo> <varivel>; ou <escopo> <tipo>
<varivel> = <valor>;
Visual Basic .NET
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
contador As Integer
contador As Integer = 10
dados As Double
dados As Double = 3.5#
valor As Single
nome As String
c As Char
l As Long
m As Decimal
C#
int contador;
int contador = 10;
double dados;
double dados = 3.5;
float f;
string nome;
char c;
long l;
decimal m;
http://www.macoratti.net/vbn_cshp.htm
1/7
25/09/2015
VB.NETeCSharpComparando
3 Escopo
Visual Basic
.NET
C#
Descrio do escopo
Private
private
Friend
internal
Protected
protected
Protected
Friend
protected
internal
Public
public
3 Laos For/Next
Visual Basic .NET
Dim i As Integer
For i = 1 To 10
' ...
Next
C#
int i;
for(i = 1; i<= 10; i++)
{
// ...
}
for(int i = 1; i<=10; i++)
For i As Integer = 1 To 10
Dim objeto As <Tipo>
For Each objeto In coleo
C#
do
{
//...
}while(<expresso>);
While <expresso>
'...
End While
while(<expresso>)
{
//...
}
Do While <expresso>
'...
Loop
while(<expresso>)
{
//...
}
Do
while(true)
{
//...
}
'...
Loop
Do Until <expresso>
'...
Loop
while(!<expresso>)
{
//...
}
Do
do
http://www.macoratti.net/vbn_cshp.htm
2/7
25/09/2015
'...
Loop Until <expresso>
VB.NETeCSharpComparando
{
//...
}while(!<expresso>);
C#
If x = 10 Then
'...
End If
if(x == 10)
{
//...
}
If x = 10 Then
'...
Else
'...
End If
if(x == 10)
{
//...
}
else
{
//...
}
If x = 10 Then
'...
ElseIf x > 50 Then
'...
End If
if(x == 10)
{
//...
}
else if(x > 50)
{
//...
}
C#
&
&&
Or
OrElse
||
XOr
Not
==
<>
!=
& (concatenaco de
cadeias)
\ (diviso de nmeros
enteiros)
\=
/=
Mod
Is Nothing
== null
Procedimento
http://www.macoratti.net/vbn_cshp.htm
3/7
25/09/2015
VB.NETeCSharpComparando
C#
<escopo> void <nome>()
{
}
Funo
Visual Basic .NET
C#
C#
9 Executando um comando
C#
SqlCommand cmd = new SqlCommand ();
http://www.macoratti.net/vbn_cshp.htm
4/7
25/09/2015
VB.NETeCSharpComparando
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select * from clientes";
//atribuir o comando a um DataReader ou DataAdpater
VB .NET
Dim cmd As SqlCommand = new SqlCommand ()
cmd.Connection = con
cmd.CommandType = CommandType.Text
cmd.CommandText = "Select * from clientes"
//atribuir o comando a um DataReader ou DataAdpater
10 Executando um DataReader
C#
SqlDataReader dr = cmd.ExecuteReader();
While (dr.Read())
{
Console.WriteLine(dr.GetInt32(0) + " , " + dr.GetString(1) + " , " + dr.GetString(1));
}
dr.Close();
VB .NET
Dim dr As SqlDataReader = con.ExecuteReader();
While dr.Read()
Console.WriteLine(dr.GetInt32(0) & " , " & dr.GetString(1) & " , " & dr.GetString(1));
End While
dr.Close()
11 Preenchendo um DataSet
C#
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds,"Clientes");
VB .NET
Dim da As SqlDataAdapter = new SqlDataAdapter(cmd);
Dim ds AS DataSet ds = new DataSet();
da.Fill(ds,"Clientes");
5/7
25/09/2015
VB.NETeCSharpComparando
Console.Write("{0,10}", dc.ColumName);
}
foreach (DataRow dr in ds.Tables[0].Rows)
{
for ( int i =0 ; i < ds.Tables[0].Columns.Count ; i++)
{
Console.WriteLine("{0,10}",dr[i]);
}
Console.WriteLine();
}
VB .NET
Dim dc as DataColumn
For Each dc In ds.Tables(0).Columns
Console.Write("{0,10}", dc.ColumName)
Next
Dim dr As DataRow
For Each dr In ds.Tables(0).Rows
Dim i As Integer
For i = 0 To ds.Tables(0).Columns.Count 1
Console.WriteLine("{0,10}",dr(i))
Next
Console.WriteLine();
Next
Considerei em todos os casos a conexo com o provedor .NET SqlClient mas voc poder usar tambm o
provedor OleDb ou ODBC.
Como voc percebeu existe pouca diferena na sintaxe para acesso a dados entre VB.NET e C#.
Aguarde!!!
VejaosDestaquesenovidadesdoSUPER
DVDVB(sempreatualizado):cliquee
confira!
Quer migrar para o VB .NET ?
Veja mais sistemas completos para a
plataforma .NET no SuperDVD.NET ,
confira...
Quer aprender C# ??
http://www.macoratti.net/vbn_cshp.htm
6/7
25/09/2015
VB.NETeCSharpComparando
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referncias:
Seo VB .NET do Site Macoratti.net
Super DVD .NET A sua porta de entrada na plataforma .NET
Super DVD Vdeo Aulas Vdeo Aula sobre VB .NET, ASP .NET e C#
Seo C# do site Macoratti.net
Curso VB .NET Bsico Vdeo Aulas
Curso C# Basico Vdeo Aulas
VB.NET e CSharp Comparando Macoratti.net
C# Otimizando o cdigo Macoratti.net
Comparando VB.NET com C#
Jos Carlos Macoratti
http://www.macoratti.net/vbn_cshp.htm
7/7