Académique Documents
Professionnel Documents
Culture Documents
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 sinto-me 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> = <valor>; Visual Basic .NET 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 int contador; int contador = 10; double dados; double dados = 3.5; float f; string nome; <escopo> <tipo> <varivel>; ou
C#
Dim c As Char Dim l As Long Dim m As Decimal Dim obj As MinhaClasse Dim obj1 As New MinhaClasse() Dim obj2 As MinhaClasse = New MinhaClasse() Public endereco As String Private cidade As String
char c; long l; decimal m; MinhaClasse obj; MinhaClasse obj1 = new MinhaClasse(); MinhaClasse obj2 = new MinhaClasse(); public string endereco; private string cidade;
3- Escopo
Visual Basic .NET Private Friend Protected Protected Friend Public C# Private Internal Protected protected internal Public Descrio do escopo Acessvel dentro do mesmo mdulo, classe ou estrutura. Acessvel desde dentro do mesmo Projeto, mas no fora dele. Acessvel dentro da mesma classe ou desde uma classe derivada dela Acessvel dentro das classes derivadas ou dentro do mesmo projeto. Acessvel a partir de qualquer lugar do projeto
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 For Each objeto As <Tipo> In coleo foreach(<Tipo> objeto in coleo) foreach(<Tipo> objeto in coleo)
{ } //...
- Procedimento Visual Basic .NET <escopo> Sub <nome>() End Sub C# <escopo> void <nome>() { }
- Funo Visual Basic .NET <escopo> Function <nome>() As <tipo> End Function C# <escopo> <tipo> <nome>() { }
- Propriedade Visual Basic .NET <escopo> Property <nome>() As <tipo> Get '... C# <escopo> <tipo> <nome> { get{
End Get Set '... End Set End Property } <escopo> ReadOnly Property <nome> As <tipo> Get '... End Get End Property <escopo> WriteOnly Property <nome> As <tipo> Set '... End Set End Property
//... } set{ //.. } <escopo> <tipo> <nome> { get{ //... } } <escopo> <tipo> <nome> { set{ //.. } }
9- Executando um comando
C# SqlCommand cmd = new SqlCommand (); 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
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()