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!!!!!

Preguntas similare

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:
Mostrar la cita
#2 Harvey Triana
13/08/2007 - 18:29 | Informe spam
Guille-
Quisiera complementar tu fina respuesta con la siguiente función. - Evita la
penalización try en muchas ocaciones:

public static bool IsDate(object Expression)
{
if (Expression != null)
{
if (Expression is DateTime)
{
return true;
}
if (Expression is string)
{
try
{
DateTime t = DateTime.Parse((string)Expression);
return true;
}
catch (Exception)
{
}
}
}
return false;
}

Atentamente:
<Harvey Triana />
DrillingView© Developer

Celebre:

"How can i convert my vb6 project to vb.net?
The near-universal concensus is, you can't. All you can do is rewrite it."
Karl E. Peterson



"Guillermo 'guille'" escribió en el mensaje
news:
Mostrar la cita
#3 Irak Rubio
15/08/2007 - 20:58 | Informe spam
Muchas gracias distinguidos amigos!

"Harvey Triana" wrote:

Mostrar la cita
#4 Guillermo guille
18/08/2007 - 02:52 | Informe spam
Buen punto, si señor... es que algunas veces, pues uno se va por lo fácil,
je, je... (me tengo que excusar de alguna forma, je)

Nos vemos
Guillermo

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


"Harvey Triana" wrote in message
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida