Funciones de VB a C#

10/08/2007 - 22:08 por Irak Rubio | Informe spam
Hola, estoy migrando de VB.Net a C# y tengo unas dudas en cuanto a
equivalencias entre funciones de VB.

En visual Basic utilizo:

Instr (que me devuelve un entero si una subcadena se encuentra contenida en
otra cadena)

IsNumeric() Falso o verdadero si una cadena puede representarse como un numero

ASC() El valor Ascii de un caracter.

CHR() El caracter de un valor entero

IsDate() Falso o verdadero si una cadena se puede representar como una fecha


Me gustaría saber cuales serían sus equivalentes en C#

Gracias!!!!!
 

Leer las respuestas

#1 Guillermo guille
11/08/2007 - 12:31 | Informe spam
Hola,

Para InStr debes usar IndexOf, pero recuerda que todas las funciones de VB
devuelven 1 para el primer carácter en vez de 0 que es el primer carácter en
la manipulación de cadenas en .NET.
Por ejemplo, Left(cadena, 3) sería cadena.Substring(0, 3) que sería lo mismo
que Mid(cadena, 1, 3)

Para IsNumeric no hay equivalencia, pero Harvey Triana publicó su propia
versión en este artículo:
http://www.elguille.info/colabora/N...DotNET.htm
En ese mismo artículo está el código para VB6, VB .NET y C# y maneja varias
cosas relacionadas con las cadenas.

ASC se puede "simular" haciendo un cast: (int)'c' te dará el valor ASCII de
la letra c en minúscula.
CHR (o CHRW) será la conversión de un número a char: (char)numero

IsDate, pues... tendrás que fabricarla tu mismo.
Pero así a las bravas sería simplemente una función que detecte errores y
"pruebe" si se puede convertir la cadena en un DateTime.
static public bool IsDate(string fecha)
{
try
{
DateTime fecha1 = Convert.ToDateTime(fecha);
return true;
}
catch
{
return false;
}
}
Ten en cuenta que si el parámetro de esta función es null se devolverá true,
ya que la conversión devolverá el valor de DateTime.MinValue, por tanto, si
no quieres aceptar ese valor como válido, tendrías que añadir esta
comprobación antes del try:
if(fecha == null)
{
return false;
}


Si te interesan más conversiones entre VB y C#, puedes ver esto que tengo en
mi sitio:
http://www.elguille.info/NET/dotnet...iavbcs.htm

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/


"Irak Rubio" wrote in message
news:
Hola, estoy migrando de VB.Net a C# y tengo unas dudas en cuanto a
equivalencias entre funciones de VB.

En visual Basic utilizo:

Instr (que me devuelve un entero si una subcadena se encuentra contenida
en
otra cadena)

IsNumeric() Falso o verdadero si una cadena puede representarse como un
numero

ASC() El valor Ascii de un caracter.

CHR() El caracter de un valor entero

IsDate() Falso o verdadero si una cadena se puede representar como una
fecha


Me gustaría saber cuales serían sus equivalentes en C#

Gracias!!!!!

Preguntas similares