domingo, mayo 14, 2006

2da Semana - DIARIO DE UN MIGRANTE (Migrando de Visual Basic .NET a C#)

Descarga el 5to podcast de Superneurona

Como les platicábamos durante la primera parte de esta serie llamada Diario de un Migrante estamos descubriendo el impacto del Espacio de Nombres Microsoft.VisualBasic en nuestras aplicaciones. Como parte del proceso de migración a C#.

En esta ocasión tomamos un código que tiene entre sus características un amplio manejo de funciones de Fechas. Las cuales en el framework de .NET están agrupadas dentro del espacio de Nombres Microsoft.VisualBasic.DateAndTime

Una de la funciones mas utilizadas en visual basic es la función Now

Por lo tanto para obtener la fecha actual del sistema se hacia lo siguiente


Microsoft.VisualBasic
Dim x As Date
x = Now


Y ahora para hacer la misma operación en .NET se utiliza el método Now que proporciona el tipo DateTime.


Visual Basic .NET
Dim x As Date
x = Date.Now

Visual C#
DateTime x;
x = DateTime.Now;


Algunas otras operaciones que se realizan comúnmente con Visual Basic y que tienen que ver con la manipulación de fechas son aquellas en las que de una fecha dada queremos obtener una sección de la misma.

Como por ejemplo si tenemos una fecha y queremos el día en Visual Basic lo haríamos de la siguiente manera.


Microsoft.VisualBasic
Dim Dia as Integer
Dia=day(x)


Mientras que en visual basic .net una vez que se ha dejado de utilizar el Namespace se vería de la siguiente manera.


Visual Basic .NET
Dim Dia As Integer
Dia = x.Day

Visual C#
int Dia;
Dia=x.Day;


Existen algunos cambios mas que voy a ejemplificar de una manera que me parece mas práctica.

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;

Mientras trabajo con C# me doy cuenta de algunas cosas que son diferentes y que vale la pena ir mencionando conforme me ocurren. Una de ellas fue que para asignar un valor a la variable X y Y tuve que utilizar el método TryParse de la siguiente manera

DateTime.TryParse ("12/01/2006",out X);

cuando en Visual Basic seria tan solo

Dim X As Date = "12/01/2006"


DatePart
VB DatePart(DateInterval.Month, Now)
VB.NET DateTime.Now.Month
C# DateTime.Now.Month;

Sobre este tema les recomiendo lean este documento que trata sobre Mejores practicas de desarrollo usando DateTime en el NET Framework
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/datetimecode.asp

El buen Carlos madrigal nos recomienda que investiguemos mas sobre estos dos temas:
timestamp
convert

Así es que no dejen de hacer la tarea.

Sin mas por el momento, les envió un gran saludo.

0 Comments:

Publicar un comentario en la entrada

Links to this post:

Crear un enlace

<< Home