A seguir um guia de referência rápida comparando a sintaxe e definições do VB.NET com C-Sharp.
VB.NET |
C# | ||||||||||
Comentários | |||||||||||
' linha única Rem somente uma linha |
// somente uma linha | ||||||||||
Tipos de dados | |||||||||||
Tipos por Valor Tipos por Referência Dim x As Integer
' Conversão de Tipos |
Tipos por Valor Tipos por Referência int x;
| ||||||||||
Constantes | |||||||||||
Const MAX_STUDENTS As Integer = 25 |
const int MAX_STUDENTS = 25; | ||||||||||
Enumerations | |||||||||||
Enum Action Start [Stop] ' Stop é uma palavra reservada Rewind Forward End Enum Enum Status Flunk = 50 Pass = 70 Excel = 90 End Enum Dim a As Action = Action.Stop If a <> Action.Start Then Console.WriteLine(a) ' Imprime 1 Console.WriteLine(Status.Pass) ' Imprime 70 Console.WriteLine(Status.Pass.ToString()) ' Imprime Pass |
enum Action {Start, Stop, Rewind,
Forward}; enum Status {Flunk = 50, Pass = 70, Excel = 90}; Action a = Action.Stop; if (a != Action.Start) Console.WriteLine(a + " e " + (int) a); // Imprime "Stop e 1" Console.WriteLine(Status.Pass); // Imprime Pass | ||||||||||
Operadores | |||||||||||
Comparação = < > <= >= <> Aritimético Atribuição Bitwise Logico Note: AndAlso and OrElse sao avaliações lógica do tipo curto-circuito Concatenação de strings |
Comparação Aritimético Atribuição Bitwise Logico Note: && and ||sao avaliações lógica do tipo curto-circuito Concatenação de strings | ||||||||||
If | |||||||||||
saudacao= IIf(idade < 20, "Tudo bem ?", "Ola") ' Uma linha não requere "End If",
nem "Else" ' Usar :
para por dois comandos na mesma linha ' Preferido ' para quebrar linhas
longas use _ (underscore) 'If x > 5
Then Select Case color '
Deve ser um tipo primitivo |
saudacao= idade < 20 ? "Tudo bem ?" : "Ola"; if (x != 100
&& y < 5) {
// múltiplos comandos precisam
estar entre
{} Não precisa de _ ou : desde que ; é usado para terminar cada comando
| ||||||||||
Loops | |||||||||||
' loopin em Array
ou collection |
Loops com
pré teste
// não tem a palavra chave until
| ||||||||||
Arrays | |||||||||||
Dim nums() As Integer = {1, 2, 3}
|
int[] nums = {1, 2, 3}; float[,] DuasD = new float[rows, cols]; int[][] jagged = new int[3][] { | ||||||||||
Funções | |||||||||||
' Passa por valor (é o padrão) Dim a = 1, b = 1, c As Integer ' ' Aceita número de argumentos
variáveis |
// ' Passa
por valor (é o padrão) void TestFunc(int x, ref int y, out int z) { x++; y++; z = 5; } int a = 1, b = 1, c; // c
não precisa inicialização ' Aceita número de
argumentos variáveis int total = Sum(4, 3, 2, 1); // retorna 10
| ||||||||||
Tratamento de exceção | |||||||||||
' Tratamento de erro
desatualizado Try |
try { | ||||||||||
Namespaces | |||||||||||
Namespace Harding.Compsci.Graphics ' or Namespace Harding Imports Harding.Compsci.Graphics |
namespace Harding.Compsci.Graphics { // or namespace Harding { using Harding.Compsci.Graphics; | ||||||||||
Classes / Interfaces | |||||||||||
'Modificadores de acesso ' herança ' Definição de interface // Extendendo uma interface // Implementando uma interface |
'Modificadores de acesso ' herança
// Extendendo uma interface
| ||||||||||
Construtores | |||||||||||
Class SuperHeroii Private _nivelPoder As Integer Public Sub New () _nivelPoder = 0 End Sub Public Sub New (ByVal nivelPoder As Integer) Me._nivelPoder = nivelPoder End Sub Protected Overrides Sub Finalize () MyBase.Finalize() End Sub End Class |
class SuperHeroi { | ||||||||||
Objetos | |||||||||||
Dimheroii As SuperHeroi = New SuperHeroi Dim heroi2 As SuperHeroi =heroi
' ambos se referem ao mesmo objeto hero = Nothing ' Libera o objeto If heroi Is Nothing Then _ Dim obj As Object = New SuperHeroi |
SuperHeroi heroi = new SuperHeroi(); hero.Defend("Miriam");
hero = null ; // libera o objeto if (heroi == null)
| ||||||||||
Structs | |||||||||||
Structure Aluno Dim stu As Aluno = New Aluno("Jefferson", 3.5) |
struct Aluno { public string nome; public float gpa; public Aluno(string nome, float gpa) { this.nome = nome; this.gpa = gpa; } } Aluno stu = new Aluno("Jefferson", 3.5f); | ||||||||||
Propriedades | |||||||||||
Private _size As Integer foo.Size += 1 |
private int _size; public int Size { get { return _size; } set { if (value < 0) _size = 0; else _size = value; } }
| ||||||||||
Console I/O | |||||||||||
Caracteres especiais Console.Write("Qual o seu nome ") |
Sequencia de escape Convert.ToChar(65) // Retorna
'A' - Console.Write("Qual o seu nome ");
| ||||||||||
File I/O | |||||||||||
Imports System.IO Dim writer As StreamWriter =
File.CreateText("c:\arquivo.txt") Dim reader As StreamReader =
File.OpenText("c:\arquivo.txt") Dim str As String = "Texto data" Dim binReader As New BinaryReader
(File.OpenRead("c:\arquivo.dat")) |
using System.IO; StreamWriter writer =
File.CreateText("c:\\arquivo.txt"); StreamReader reader = File.OpenText("c:\\arquivo.txt");
string str = "Texto data"; BinaryReader binReader = new
BinaryReader(File.OpenRead("c:\\arquivo.dat")); |
Até o próximo artigo ...
Referências:
José Carlos Macoratti