14
C# para Programadores de Visual Basic

Diferencia entre Csharp y Visual basic.pptx

Embed Size (px)

Citation preview

Page 1: Diferencia entre Csharp y Visual  basic.pptx

C# para Programadores de Visual Basic

Page 2: Diferencia entre Csharp y Visual  basic.pptx

Agenda

••

Diferencias entre Visual Basic 6 y .NETMigrando de Visual Basic .NET a C#– Eliminando el Espacio de Nombres

Microsoft.VisualBasic

Diferencias en la Sintaxis de C# vs VB.NET

Algunos detalles adicionales

––

Page 3: Diferencia entre Csharp y Visual  basic.pptx

Diferencias entre Visual Basic 6 y .NET• En Visual Basic .NET no existe el tipo de datos Variant

– En su lugar se utiliza el tipo de datos Object como tipo de datosuniversal.

• Variables Integer y Long– Las variables Integer se almacenan como números de 32 bits en

de 16 bits.lugar

– Las variables Long se almacenan como números de 64 bits en lugar de32 bits.

Las variables Short se almacenan como números de 16 bits. Ocupando el espacio que dejan las Variables Integer

• Variables Date

– En .NET las variables se almacenan internamente como enteros de 64bits, y no pueden manipularse directamente como antes se hacia en Visual Basic 6.0 en el cual se almacenaba internamente como Double y podía ser manipulada externamente.

Page 4: Diferencia entre Csharp y Visual  basic.pptx

Diferencias entre Visual Basic 6 y .NET• Instrucciones Type

– Las instrucciones Type que servian para establecer un tipo de datosdefinido por el usuario cambia a Structure

• Valor de True

– El valor de true tiene un valor de 1 en .NET mientras que en Visual 6 era de-1

• Empty

– En Visual Basic .NET las variables se inicializan en Nothing y mientras queVisual Basic 6 se inicializaban en Empty

• Null

– En Visual Basic .NET no se admite la propagación de Null que en VisualBasic 6 eran utilizados para para indicar que una variable contenía un dato no valido

Page 5: Diferencia entre Csharp y Visual  basic.pptx

Diferencias entre Visual Basic 6 y .NET

• Parámetro predeterminado ByVal/ByRef

– En Visual Basic .NET los parametros adoptan de forma predeterminadael valor ByVal mientras que en Visual Basic 6 adoptaban de forma predeterminada el valor ByRef.

• ADO, RDO y DAO

– ADO.NET substituye los objetos de ADO,RDO y DAO proporcionandoclases adicionales al acceso a datos que funcionan de forma desconectada.

• Manejo de Errores Estructurado– Try, Catch, Finally substituye el uso de On Error

Page 6: Diferencia entre Csharp y Visual  basic.pptx

Migrando de Visual Basic .NET a C#Eliminando el Espacio de Nombres Microsoft.VisualBasic

El espacio de nombres Microsoft.VisualBasic fue creado para permitiruna trancisión menos dolorosa al desarrollo en .NET.

• ¿Para que sirve eliminar el espacio de nombresMicrosoft.VisualBasic?

– Para que los programadores dejen de programar en las herramientasde .NET al estilo de Visual Basic 6.

Permite al desarrollador erradicar malas practicas que lleva arrastrando desde la programación en Visual Basic 6.

Una vez que se ha eliminado el espacio de nombres es mucho mas sencillo aprender C#.

Page 7: Diferencia entre Csharp y Visual  basic.pptx

Cambios al quitar el Namespace VisualBasic

• La función MsgBox no existe en .NET

– En Visual Basic NET la clase MessageBox con su metodo Show,substituye a la función MsgBox de Vb 6.

Microsoft.VisualBasicMsgBox("Hola Mundo", Microsoft.VisualBasic.MsgBoxStyle.OKOnly,

"Pantalla Ejemplo")Visual Basic .NET

MessageBox.Show("Hola Mundo", MessageBoxButtons.OK)

Visual C#MessageBox.Show("Hola Mundo",

MessageBoxButtons.OK);

"Pantalla Ejemplo",

"Pantalla Ejemplo",

Page 8: Diferencia entre Csharp y Visual  basic.pptx

Cambios al quitar el Namespace VisualBasic

• La función isNumeric y la función isDate

– En su lugar se pueden utilizar los metodos TryParse que acompañan alos diversos Tipos.

Microsoft.VisualBasicif isnumeric(Valor) then

Visual Basic .NET 2003If Double.TryParse(Valor, Globalization.NumberStyles.Any,Globalization.CultureInfo.CurrentCulture, ValorOut) Then

Visual C# 2003if (Double.TryParse(Valor, System.Globalization.NumberStyles.Any,

System.Globalization.CultureInfo.CurrentCulture, outValorOut))

Visual Basic .NET 2005If Double.TryParse(Valor, ValorOut) Then

Visual C# 2005if (Double.TryParse(Valor,out ValorOut ))

Page 9: Diferencia entre Csharp y Visual  basic.pptx

Cambios al quitar el Namespace VisualBasic

• Microsoft.VisualBasic.DateAndTime

– Dentro de este espacio de nombres se encuentran todas las funcionesque en Visual Basic 6 eran utilizadas para realizar operaciones que tenian que ver con las fechas.Ejemplos:–• La función Now que trae la fecha y hora que tiene la maquina cambia por

x = DateTime.Now;

Dia=x.day;

Visual BasicDim Dia As IntegerDia=day(x)

Visual Basic .NET

Dim Dia As IntegerDia=x.day

Visual C#

Int Dia;

Visual Basic .NETDim x As Date x = Date.Now• Cuando quieres obtener una sección d

Visual C#

DateTime x;

e una fecha

Page 10: Diferencia entre Csharp y Visual  basic.pptx

Cambios al quitar el Namespace VisualBasic

• Microsoft.VisualBasic.DateAndTime• Algunos ejemplos adicionales serian:

DateAdd

VB Dateadd(DateInterval.Day,3,X) VB.NET x.AddDays(3)C# x.AddDays(3);

DateDiff

VB DateDiff(DateInterval.Second, X, VB.NET Y.Subtract(X).TotalSeconds C# Y.Subtract(X).TotalSeconds;

Y)

Page 11: Diferencia entre Csharp y Visual  basic.pptx

Diferencias en la Sintaxis de C# vs VB.NET

• La sintaxis entre ambos lenguajessiguientes:

Definición de una clase

es diferente. Alguna diferencias son las

Definición de una Propiedad

set {}

Visual Basic .NETPublic Property Property1() As Integer

Get

End Get

Set(ByVal value As Integer)

End Set

End Property

Visual C#

public int Property

{

get {}

}

Visual Basic .NET

Public Class NombreClase

End Class

Visual C#

class NombreClase{…}

Page 12: Diferencia entre Csharp y Visual  basic.pptx

Diferencias en la Sintaxis de C# vs VB.NET

• La sintaxis entre ambos lenguajessiguientes:

es dieferente. Alguna diferencias son las

Definición de un Método

Definición de un ConstructorSub New()

End Sub

public Class1()

{ }

Visual Basic .NET

Public Sub Method()

End Sub

Visual C#

public void Method()

{ }

Public Function Method() As Integer

End Functionpublic int Method1()

{ }

Page 13: Diferencia entre Csharp y Visual  basic.pptx

Diferencias en la Sintaxis de C# vs VB.NET

• La sintaxis entre ambos lenguajes essiguientes:

diferente. Alguna diferencias son las

Como se escribe una condición IF

{ }

Definición de un bucle for

{ }

Select Case

switch (Opcion){

case "Y":

Visual Basic .NETSelect Case Opcion

Case "X" Case "Y"

End Select

Visual C#

case "X":

}

Visual Basic .NET

For X As Integer = 1 To 10Next

Visual C#

for (int X = 1; i <= 10; i++)

Visual Basic .NET

If Condicion ThenEnd If

Visual C#

if (Condicion)

Page 14: Diferencia entre Csharp y Visual  basic.pptx

Algunos detalles adicionales• Al trabajar con Visual C# debes tener cuidado con el Casing ya que este

lengiaje distingue entre mayusculas u minusculas, por lo que no es lo mismo MiVariable que mivariable.

Cuando un metodo en C# espera un valor en un tipo en espcifico este debe ser convertido previamente antes de que pueda ser enviado como parametro. Ej. MessageBox.Show(ValorOut.ToString()); Mientras que en visual basic era valido realizarlo de la siguiente manera MessageBox.Show(ValorOut).