Upload
fernando-henrique
View
217
Download
0
Embed Size (px)
DESCRIPTION
Comparação entre vb e c#
Citation preview
25/09/2015 VB.NETeCSharpComparando
http://www.macoratti.net/vbn_cshp.htm 1/7
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 asimilaridade 'assombrosa' ( ) entre estas duas linguagens.
Como no pretendo abandonar o Visual Basic vou neste artigo fazer uma comparao entre as duaslinguagens : VB.NET e C# em alguns pontos chaves. Com isto pretendo mostrar que C# no um bicho de 7cabeas ( talvez 5... ).
Vamos ao que interessa...
1 A apresentao do Cdigo
Quando voc for codificar em C# deve colocar o ponto e vrgula nofinal 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 dechaves (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 dedados
Ex: String nome = "Macoratti" ;
2 Declarao de variveis
No Visual Basic .NET usamos a seguinte sintaxe: As ou As =
Em C# declaramos variveis da seguinte forma: ; ou = ;
Visual Basic .NET C#Dim contador As IntegerDim contador As Integer = 10Dim dados As DoubleDim dados As Double = 3.5#Dim valor As SingleDim nome As StringDim c As CharDim l As LongDim m As Decimal
Dim obj As MinhaClasseDim obj1 As New MinhaClasse()Dim obj2 As MinhaClasse = New MinhaClasse()
Public endereco As StringPrivate cidade As String
int contador;int contador = 10;double dados;double dados = 3.5;float f;string nome;char c;long l;decimal m;
MinhaClasse obj;MinhaClasse obj1 = new MinhaClasse();MinhaClasse obj2 = new MinhaClasse();
public string endereco;private string cidade;
25/09/2015 VB.NETeCSharpComparando
http://www.macoratti.net/vbn_cshp.htm 2/7
3 Escopo
Visual Basic.NET C# Descrio do escopo
Private private Acessvel dentro do mesmo mdulo, classe ouestrutura.
Friend internal Acessvel desde dentro do mesmo Projeto, masno fora dele.
Protected protected Acessvel dentro da mesma classe ou desde umaclasse derivada delaProtectedFriend
protectedinternal
Acessvel dentro das classes derivadas ou dentrodo mesmo projeto.
Public public Acessvel a partir de qualquer lugar do projeto
3 Laos For/Next
Visual Basic .NET C#Dim i As IntegerFor i = 1 To 10 ' ...Next
int i;for(i = 1; i
25/09/2015 VB.NETeCSharpComparando
http://www.macoratti.net/vbn_cshp.htm 3/7
'...Loop Until
{ //...}while(!);
5 Comparaes If/then/ Else...
Visual Basic .NET 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){ //...}
6 Operadores lgicos e aritmticos
Visual Basic .NET C#And &AndAlso &&Or |OrElse ||XOr ^Not != == !=& (concatenaco decadeias)
+
\ (diviso de nmerosenteiros)
/
\= /=Mod %Is Nothing == null
7 Procedimentos / Mtodos (funces, propiedades)
Em Visual Basic .NET existem trs tipos de procedimentos: Sub, Function e Property
Procedimento
25/09/2015 VB.NETeCSharpComparando
http://www.macoratti.net/vbn_cshp.htm 4/7
Visual Basic .NET C# Sub ()End Sub
void (){}
Funo
Visual Basic .NET C# Function () As End Function
(){}
Propriedade
Visual Basic .NET C# Property () As Get '... End Get Set '... End SetEnd Property
{ get{ //... } set{ //.. }}
ReadOnly Property As Get '... End GetEnd Property
{ get{ //... }}
WriteOnly Property As Set '... End SetEnd Property
{ set{ //.. }}
8 Realizando uma conexo com um banco de dados
C#SqlConnection con = new SqlConnection ();
con.ConnectionString = "Initial Catalog=Teste;Data Source=Clientes;trusted_connection=True";
con.Open();VB.NET
Dim con As SqlConnection = new SqlConnection ()
con.ConnectionString = "Initial Catalog=Teste;Data Source=Clientes;trusted_connection=True"
con.Open()
9 Executando um comando
C#SqlCommand cmd = new SqlCommand ();
25/09/2015 VB.NETeCSharpComparando
http://www.macoratti.net/vbn_cshp.htm 5/7
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select * from clientes";
//atribuir o comando a um DataReader ou DataAdpaterVB .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");
12 Acessando dados em um DataSet (DataTable)
C#foreach (DataColumn dc in ds.Tables(0).Columns){
25/09/2015 VB.NETeCSharpComparando
http://www.macoratti.net/vbn_cshp.htm 6/7
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 .NETDim dc as DataColumnFor Each dc In ds.Tables(0).Columns Console.Write("{0,10}", dc.ColumName)NextDim dr As DataRowFor 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
13 Salvando um DataSet com um arquivo XML
C#ds.WriteXml(@"C:\teste\clientes.xml");
VB .NETds.WriteXml("C:\teste\clientes.xml")Considerei em todos os casos a conexo com o provedor .NET SqlClient mas voc poder usar tambm oprovedor OleDb ou ODBC.Como voc percebeu existe pouca diferena na sintaxe para acesso a dados entre VB.NET e C#.Em um outro artigo abordarei a migrao VB.NET para C# , e , se isto realmente possvel....
Aguarde!!!
VejaosDestaquesenovidadesdoSUPERDVDVB(sempreatualizado):cliqueeconfira!
Quer migrar para o VB .NET ?
Veja mais sistemas completos para aplataforma .NET no SuperDVD.NET ,confira...
Quer aprender C# ??
25/09/2015 VB.NETeCSharpComparando
http://www.macoratti.net/vbn_cshp.htm 7/7
Chegou o SuperDVDC# com exclusivomaterial de suporte e vdeo aulas com cursobsico sobre C#
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referncias:
Seo VB .NET do Site Macoratti.netSuper DVD .NET A sua porta de entrada na plataforma .NETSuper DVD Vdeo Aulas Vdeo Aula sobre VB .NET, ASP .NET e C#Seo C# do site Macoratti.netCurso VB .NET Bsico Vdeo AulasCurso C# Basico Vdeo AulasVB.NET e CSharp Comparando Macoratti.netC# Otimizando o cdigo Macoratti.netComparando VB.NET com C#
Jos Carlos Macoratti