Principales respuestas
Operador ternario de Csharp a VB.NET

Pregunta
-
Hola amigos tengo una gran confucion con estos operadores que me gustaria que me ayudaran
quiero pasar esta expresion de C-sharp a VB.NET, me interesa saber como implementar el operador ? y : que no entiendo como pasarlo para VB.NET.
se que es un If...else, pero no logro como pasarlo a vb.net
Point puntoOrigen = origen.Location; Point puntoDestino = destino.Location; if (((color == "azul") ? puntoDestino.Y - puntoOrigen.Y : puntoOrigen.Y - puntoDestino.Y) == 50 | (origen.Tag=="queen" && Math.Abs(puntoOrigen.Y - puntoDestino.Y)==50)) { if (color == "azul") { blueKilled.Add(new object[] {"",""}); } else { redKilled.Add(null); } return true; }
quiero saber como se aplica a VB.NET pero no he logrado la forma de como hacerlo , gracias.. :)
- Editado Domix7229 jueves, 28 de abril de 2016 5:32
Respuestas
-
"Domix7229" escribió:
> quiero pasar esta expresion de C-sharp a VB.NET, me interesa saber como implementar ?
Hola:
En el siguiente enlace encontrarás un convertidor en línea de código de C# a VB .NET y viceversa:
Un saludo
Enrique Martínez Montejo
[MS MVP - Visual Studio y Tecnologías de Desarrollo]
Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.
Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.
Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción Option Strict.- Marcado como respuesta Domix7229 jueves, 28 de abril de 2016 11:55
Todas las respuestas
-
"Domix7229" escribió:
> quiero pasar esta expresion de C-sharp a VB.NET, me interesa saber como implementar ?
Hola:
En el siguiente enlace encontrarás un convertidor en línea de código de C# a VB .NET y viceversa:
Un saludo
Enrique Martínez Montejo
[MS MVP - Visual Studio y Tecnologías de Desarrollo]
Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.
Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.
Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción Option Strict.- Marcado como respuesta Domix7229 jueves, 28 de abril de 2016 11:55
-
Cuando en C# tienes una expresión del tipo
a = b ? c : d;
se puede traducir a VB usando un IIF:
a = IIF(b, c, d)
Con una precaución: si c o d tuvieran efectos colaterales, hay que tener en cuenta que en VB se ejecutarían las dos (c y d), mientras que en C# solo una de ellas (la que corresponda según b). Si esto no es aceptable, entonces hay que prescindir de escribirlo todo en una única expresión y cambiarlo por dos asignaciones con if...then...else:
If b Then a=c Else a=d
-
"Alberto Poblacion" escribió:
> Cuando en C# tienes una expresión del tipo
>
> a = b ? c : d;
>
> se puede traducir a VB usando un IIF:
>
> a = IIF(b, c, d)
>
> Con una precaución: si c o d tuvieran efectos colaterales, hay que
> tener en cuenta que en VB se ejecutarían las dos (c y d), mientras
> que en C# solo una de ellas (la que corresponda según b).E igual sucede en Visual Basic .net, salvo que en lugar de utilizar la función IIf correspondiente al espacio de nombres Microsoft.VisualBasic.Interaction, hay que utilizar el operador If para efectuar una evaluación de cortocircuito:
a = If(b, c, d)
Es decir, si la condición b es True, se devolverá el valor c sin entrar en evaluarse el valor de d, cosa que sí se haría si se utilizase la función IIf.
Enrique Martínez Montejo
[MS MVP - Visual Studio y Tecnologías de Desarrollo]
Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.
Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.
Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción Option Strict.- Propuesto como respuesta Asier Villanueva jueves, 28 de abril de 2016 9:44