VB 6.0 vrs. VB .NET (Diferencias del lenguaje)
Algunas diferencias sintácticas importantes que hacen diferente la nueva versión de Visual Basic .NET de su antecesor Visual Basic 6.0.

Fecha: 17/Feb/2005 (11/Feb/05)
Autor: Serge Valsse ([email protected])

 


Todas las llamadas a subrutinas deberán tener paréntesis

Todas las llamadas a subrutinas requerirán el empleo de paréntesis.

    VB:
    MsgBox "Hola mundo"

    VB .NET:
    MsgBox("Hola mundo")
ByVal o ByRef son obligatorias

En Visual Basic .NET, tendrás que calificar todos los parámetros de subrutinas utilizando ByVal o ByRef.

    VB:
    Sub ActualizarInfoCliente(NombreCliente As String)
    End Sub
    
    VB .NET:
    Sub ActualizarInfoCliente(ByRef NombreCliente As String)
    End Sub
Parámetros de sucesos

Los parámetros de sucesos son diferentes en Visual Basic 6 y en Visual Basic .NET. En Visual Basic 6, la subrutina de suceso contiene el nombre y el tipo de cada parámetro. En Visual Basic .NET los parámetros están asociados en un objeto EventArgs y se pasan como una referencia a dicho objeto. Además, la subrutina de suceso asociada con un suceso de Visual Basic .NET incluye una referencia al objeto que puso en marcha el suceso.

Por ejemplo en un formulario que contenga un control ListBox con el código asociado para mostrar cuál es el elemento que se encuentra seleccionado.

    VB:
    Private Sub List1_ItemCheck(Item As Integer)
        MsgBox "Ha seleccionado el elemento: " & Item
    End Sub
    
    VB .NET:
    Private Sub CheckedListBox_ItemCheck(ByVal sender As Object,_
        ByVal e As System.Windows.Forms.ItemCheckEventArgs)_
        Handles CheckedListBox1.ItemCheck
        MsgBox ("Ha seleccionado el elemento: " & e.Index)
    End Sub
Las matrices no pueden tener una dimensión negativa

No podrás declarar una matriz en Visual Basic .NET para que el primer elemento de la misma tenga un índice negativo. Este requisito significa también que no podrás utilizar la instrucción Option Base 1. De hecho, no podrás especificar una dimensión inferior en una declaración de una matriz, ya que siembre deberá ser cero.

    VB:
    Dim MyIntArray(-10 To 10)  As Integer        '21 elementos
    Dim MyStringArray(1 To 100)  As String        '100 elementos
    
    Option Base 1
    Dim MyOptionBaseArray(5) As Long        '5 elementos (1 - 5)
    
    VB.NET
    Dim MyIntArray(20)  As Integer            '21 elementos (0 - 20)
    Dim MyStringArray(99)  As String        '100 elementos (0 - 99)
    
    'Option Base 1                    'No admitido en VB .NET
    Dim MyOptionBaseArray(4) As Long        '5 elementos (0 - 4)
No se pueden utilizar cadenas de longitud fija

Visual Basic .NET no permite el empleo de cadenas de longitud fija.

    VB:
    Dim MiCadena As String * 32 
    
    VB .NET:
    Dim MiCadena(32) As Char
Se ha eliminado el tipo de datos Variant

En Visual Basic .NET se ha eliminado el tipo de datos Variant. El motivo principal es que .NET Framework no soporta de forma nativa el tipo Variant ni ninguna otra cosa que se le parezca. La aproximación más parecida que ofrece .NET Framework es el tipo Object. El tipo Object funciona de forma similar al tipo Variant porque el tipo Object es el tipo base de todos los demas tipos, tales como Integer y String. Al igual que podías hacer con un elemento Variant podrás asignar cualquier tipo a un Object. Sin embargo, en Visual Basic .NET si deseas convertir una variable del tipo Variant (Object en .NET) en un tipo Integer o String, tendrás que utilizar una función de conversión de tipo, tal como CInt o CString.

    VB:
    Dim v As Variant
    Dim s As String
    v = "La variable Variant contiene una cadena"
    s = v
    
    VB .NET:
    Dim v As Object
    Dim s As String
    v = "La variable Variant contiene una cadena"
    s = CStr(v)


Por favor no olvides calificar este documento en la caja de PanoramaBox que se muestra al inicio de la página.



Serge Valsse
[email protected]


 


ir al índice