D I F E R E N C I A S E N T R E V I S U A L Y C

2,470 views
2,321 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,470
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

D I F E R E N C I A S E N T R E V I S U A L Y C

  1. 1. C# para Programadores de Visual Basic Reunión de la Comunidad .NET D.F.
  2. 2. Agenda • Diferencias entre Visual Basic 6 y .NET • Migrando 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
  3. 3. 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 datos universal. • Variables Integer y Long – Las variables Integer se almacenan como números de 32 bits en lugar de 16 bits. – Las variables Long se almacenan como números de 64 bits en lugar de 32 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 64 bits, 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. http://www.microsoft.com/spanish/msdn/articulos/archivo/040501/voices/transitiondoc.asp
  4. 4. Diferencias entre Visual Basic 6 y .NET • Instrucciones Type – Las instrucciones Type que servian para establecer un tipo de datos definido 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 que Visual Basic 6 se inicializaban en Empty • Null – En Visual Basic .NET no se admite la propagación de Null que en Visual Basic 6 eran utilizados para para indicar que una variable contenía un dato no valido http://www.microsoft.com/spanish/msdn/articulos/archivo/040501/voices/transitiondoc.asp
  5. 5. Diferencias entre Visual Basic 6 y .NET • Parámetro predeterminado ByVal/ByRef – En Visual Basic .NET los parametros adoptan de forma predeterminada el 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 proporcionando clases adicionales al acceso a datos que funcionan de forma desconectada. • Manejo de Errores Estructurado – Try, Catch, Finally substituye el uso de On Error http://www.microsoft.com/spanish/msdn/articulos/archivo/040501/voices/transitiondoc.asp
  6. 6. Migrando de Visual Basic .NET a C# Eliminando el Espacio de Nombres Microsoft.VisualBasic El espacio de nombres Microsoft.VisualBasic fue creado para permitir una trancisión menos dolorosa al desarrollo en .NET. • ¿Para que sirve eliminar el espacio de nombres Microsoft.VisualBasic? – Para que los programadores dejen de programar en las herramientas de .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#. http://www.microsoft.com/spanish/msdn/articulos/archivo/040501/voices/transitiondoc.asp
  7. 7. 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.VisualBasic MsgBox(quot;Hola Mundoquot;, Microsoft.VisualBasic.MsgBoxStyle.OKOnly, quot;Pantalla Ejemploquot;) Visual Basic .NET MessageBox.Show(quot;Hola Mundoquot;, quot;Pantalla Ejemploquot;, MessageBoxButtons.OK) Visual C# MessageBox.Show(quot;Hola Mundoquot;, quot;Pantalla Ejemploquot;, MessageBoxButtons.OK); http://www.microsoft.com/spanish/msdn/articulos/archivo/040501/voices/transitiondoc.asp
  8. 8. 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 a los diversos Tipos. Microsoft.VisualBasic if isnumeric(Valor) then Visual Basic .NET 2003 If Double.TryParse(Valor, Globalization.NumberStyles.Any, Globalization.CultureInfo.CurrentCulture, ValorOut) Then Visual C# 2003 if (Double.TryParse(Valor, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.CurrentCulture, out ValorOut)) Visual Basic .NET 2005 If Double.TryParse(Valor, ValorOut) Then Visual C# 2005 if (Double.TryParse(Valor,out ValorOut ))
  9. 9. Cambios al quitar el Namespace VisualBasic • Microsoft.VisualBasic.DateAndTime – Dentro de este espacio de nombres se encuentran todas las funciones que 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 Visual Basic .NET Visual C# Dim x As Date DateTime x; x = Date.Now x = DateTime.Now; • Cuando quieres obtener una sección de una fecha Visual Basic Visual Basic .NET Visual C# Dim Dia As Integer Dim Dia As Integer Int Dia; Dia=day(x) Dia=x.day Dia=x.day;
  10. 10. 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, Y) VB.NET Y.Subtract(X).TotalSeconds C# Y.Subtract(X).TotalSeconds;
  11. 11. Diferencias en la Sintaxis de C# vs VB.NET • La sintaxis entre ambos lenguajes es diferente. Alguna diferencias son las siguientes: Definición de una clase Visual Basic .NET Visual C# Public Class NombreClase class NombreClase {…} End Class Definición de una Propiedad Visual Basic .NET Visual C# Public Property Property1() As Integer public int Property Get { End Get get {} Set(ByVal value As Integer) set {} End Set } End Property
  12. 12. Diferencias en la Sintaxis de C# vs VB.NET • La sintaxis entre ambos lenguajes es dieferente. Alguna diferencias son las siguientes: Definición de un Método Visual Basic .NET Visual C# Public Sub Method() public void Method() End Sub {} Public Function Method() As Integer public int Method1() End Function {} Definición de un Constructor Sub New() public Class1() End Sub {}
  13. 13. Diferencias en la Sintaxis de C# vs VB.NET • La sintaxis entre ambos lenguajes es diferente. Alguna diferencias son las siguientes: Como se escribe una condición IF Visual Basic .NET Visual C# If Condicion Then if (Condicion) End If {} Definición de un bucle for Visual Basic .NET Visual C# For X As Integer = 1 To 10 for (int X = 1; i <= 10; i++) Next { } Select Case Visual Basic .NET Visual C# Select Case Opcion switch (Opcion){ Case quot;Xquot; case quot;Xquot;: Case quot;Yquot; case quot;Yquot;: End Select }
  14. 14. 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).
  15. 15. José Raúl Guerrero Carreón http://www.superneurona.com

×