 VB .NET - Declaração
de variáveis o que mudou ?
 
VB .NET - Declaração
de variáveis o que mudou ?
|  | Muitos programadores não se preocupam com noções teóricas ou aspectos técnicos sobre a linguagem que utilizam. | 
O Visual Basic por ser uma ferramenta RAD , estimula muito o que chamamos programação por tentativa e erro.
O que importa é ver o sistema funcionando . Em nome desta funcionalidade verdadeiras barbaridades são cometidas em Visual Basic.
Vou abordar o que mudou com relação a declaração de variáveis no VB.NET . Posso adiantar que as mudanças foram para melhor em todos os aspectos. Sem contar que o VB.NET agora é uma linguagem mais bem 'tipada' e isto vai evitar muitas 'loucuras' dantes cometidas ; se você não entender o que está acontecendo não vai conseguir fazer rodar programas muito simples feitos na versão .NET.
1- Múltiplas declarações em uma única linha de código
Nas versões anteriores do Visual Basic , quando tínhamos múltiplas declarações aparecendo na mesma linha , para definir o tipo correto de dados de cada variável deveríamos usar a cláusula AS explicitamente na frente de cada variável , ou seja , se você fizer uma declaração assim : Dim a , b c as String .
O que teria ? Vejamos:
| Declaração | Resultado no Visual Basic 6.0 | Resultado no Visual Basic .NET | 
| Dim a , b c as String | a e b será do tipo Variant e c será do tipo String | a, b e c serão do tipo String | 
Para obter o mesmo efeito no VB 6.0 teríamos que fazer a declaração assim :
Dim a AS String , b AS String , c AS String
No VB.NET podemos fazer assim :
Dim a , b , c AS String
2- O tipo de dados padrão
No VB 6.0 se você declarar uma variável sem definir explicitamente seu tipo (sem usar a cláusula AS) o tipo padrão assumido é o tipo Variant. Assim na declaração :
| Dim a | A variável a será do tipo Variant => | Dim a AS Variant | 
no VB.NET a mesma declaração tornará a variável a do tipo Object .
Object é o valor padrão para variáveis no VB.NET.
| Dim a | A variável a será do tipo Object => | Dim a As Object | 
3- O escopo das variáveis
O Visual Basic .NET trouxe um novo escopo para as variáveis: o escopo a nível de blocos. Assim no VB.NET quando você declara uma variável dentro de um bloco de código : FOR...NEXT , DO WHILE , IF..THEN , SELECT...CASE , TRY ... CATCH, etc... ela deixa de existir fora do bloco de código onde foi declarada.
Assim no VB.NET o código abaixo :
| For i = 0 to 10 Dim nome as String nome = "Carlos" Next i nome="" | A variável nome
        será visível somente dentro do bloco de código
        definido por FOR/NEXT Se você tentar usar a variável nome fora do bloco vai obter a seguinte mensagem de erro: Name 'nome' is not declared. | 
No VB 6.0 usando a mesma declaração , a variável nome poderia ser usada dentro da função sem problemas.
No VB.NET
4- Declaração de variáveis e conversão entre tipos.
No VB 6.0 quando a fazer a declaração abaixo , você terá :
| Dim a , b as Long | a será do tipo Variant e b do tipo Long | 
Se você fizer a seguinte atribuição : a = "Copa 2002" não vai obter nenhuma mensagem de erro.
No VB.NET a mesma declaração irá resultar em
| Dim a , b as Integer | a será do tipo Integer e b do tipo Integer | 
Se você fizer a seguinte atribuição : a = "Copa 2002" vai obter uma mensagem de erro.
Se a opção Option Strict estiver definida como ON a mensagem será :
Option Strict disallows implicit conversions from String to Integer.
Se a opção Option Strict estiver definida como OFF a mensagem será :
An
unhandled exception of type 'System.InvalidCastException'
occurred in microsoft.visualbasic.dll. 
Additional information: Cast from String ("Hello
world") to Integer is not valid. 
Sabe porquê ? Porque a variável a é do tipo de dados Integer e o valor literal "Copa 2002" é considerado do tipo String e isto resultará em tipos incompatíveis de dados ,ou seja , você não poderá converter String para Integer.
Por outro lado se Option Strict estiver OFF você pode converter entre tipos de dados implicitamente. Veja :
| Dim a , b a = " Copa " b = 100 a = 2002 | Quando você
        não declara as variáveis explicitamente ( não usa a
        cláusula AS) Se Option Strict for OFF os tipos dados podem ser convertidos na atribuição das variáveis. | 
5- Inicializando variáveis
No VB.NET podemos inicializar uma variável da seguinte forma :
Dim N as Integer = 7 ou ainda :
Dim X as integer = 1 , Y AS String = "COPA" , Z AS Integer = 2002
Todas estas formas são válidas e não são suportadas pelo Visual Basic 6.
Mas você não pode inicializar mais de uma variável , assim : Dim X, Y as Integer = 10
Resumindo : para inicializar uma variável temos que declará-la usando o tipo e a cláusula AS.
Bem , vamos parar por aqui, continuaremos em um outro artigo.
Até la´...
| Veja os 
    Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique 
	e confira ! Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? | 
  
    Gostou ?   Compartilhe no Facebook
Compartilhe no Facebook
  
 Compartilhe no Twitter
 
Compartilhe no Twitter
  
  
Referências: