VB a C# no me funciona

01/10/2006 - 14:15 por Miguel | Informe spam
Hola a todos,

Llevo varios días dándole vueltas a un código que no me funciona igual en VB
NET que en C#. Voy a poner un ejemplo sencillo que a mi me da resultados
distintos cuando creo que deberían ser iguales. A ver si me podéis echar una
mano... Necesito que el código de C# obtenga el mismo juego de caracteres
que VB NET:

' Código en VB NET
Dim s As String
Dim i As Integer
s = ""
For i = 1 To 255
s = s + Chr(i)
Next
MessageBox.Show(s)

// Código en C#
string s = "";
for (int i = 1; i<256; i++)
{
s += (char)i;
}
MessageBox.Show(s);

Gracias de antemano...

Preguntas similare

Leer las respuestas

#1 RAlvare
01/10/2006 - 16:59 | Informe spam
Llevo varios días dándole vueltas a un código que no me funciona igual en
VB NET que en C#. Voy a poner un ejemplo sencillo que a mi me da
resultados distintos cuando creo que deberían ser iguales. A ver si me
podéis echar una mano... Necesito que el código de C# obtenga el mismo
juego de caracteres que VB NET:

' Código en VB NET
Dim s As String
Dim i As Integer
s = ""
For i = 1 To 255

s = s + Chr(i)



Prueba con esta otra conversión:

s = s + ChrW(i)



Next
MessageBox.Show(s)

// Código en C#
string s = "";
for (int i = 1; i<256; i++)
{
s += (char)i;
}
MessageBox.Show(s);

Gracias de antemano...

Respuesta Responder a este mensaje
#2 Miguel
02/10/2006 - 11:37 | Informe spam
No, no debo haberme explicado bien. Estoy traduciendo el código VB a C#. Por
lo tanto Chr(i) funciona correctamente. Lo que no funciona es

s += (char)i;

para algunos caracteres.


"RAlvare" escribió en el mensaje
news:
Llevo varios días dándole vueltas a un código que no me funciona igual en
VB NET que en C#. Voy a poner un ejemplo sencillo que a mi me da
resultados distintos cuando creo que deberían ser iguales. A ver si me
podéis echar una mano... Necesito que el código de C# obtenga el mismo
juego de caracteres que VB NET:

' Código en VB NET
Dim s As String
Dim i As Integer
s = ""
For i = 1 To 255



>s = s + Chr(i)

Prueba con esta otra conversión:

s = s + ChrW(i)



Next
MessageBox.Show(s)

// Código en C#
string s = "";
for (int i = 1; i<256; i++)
{
s += (char)i;
}
MessageBox.Show(s);

Gracias de antemano...





Respuesta Responder a este mensaje
#3 Juan Diego Bueno
02/10/2006 - 12:55 | Informe spam
El problema es que tratas de concatenar un char a un string. Antes has
de convertir ese char a string: ((char)i).ToString() sería lo correcto


Miguel wrote:
No, no debo haberme explicado bien. Estoy traduciendo el código VB a C#. Por
lo tanto Chr(i) funciona correctamente. Lo que no funciona es

s += (char)i;

para algunos caracteres.


"RAlvare" escribió en el mensaje
news:
>> Llevo varios días dándole vueltas a un código que no me funciona igual en
>> VB NET que en C#. Voy a poner un ejemplo sencillo que a mi me da
>> resultados distintos cuando creo que deberían ser iguales. A ver si me
>> podéis echar una mano... Necesito que el código de C# obtenga el mismo
>> juego de caracteres que VB NET:
>>
>> ' Código en VB NET
>> Dim s As String
>> Dim i As Integer
>> s = ""
>> For i = 1 To 255
>
> >s = s + Chr(i)
>
> Prueba con esta otra conversión:
>
> s = s + ChrW(i)
>
>
>
>> Next
>> MessageBox.Show(s)
>>
>> // Código en C#
>> string s = "";
>> for (int i = 1; i<256; i++)
>> {
>> s += (char)i;
>> }
>> MessageBox.Show(s);
>>
>> Gracias de antemano...
>>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida