IIf en C#

12/06/2008 - 18:41 por JSMD | Informe spam
existe en C#?.. o hay alguna otra funcion?

Preguntas similare

Leer las respuestas

#6 RFOG
13/06/2008 - 17:59 | Informe spam
¡Vaya! Ese no lo conocía, je je.

Es que está escondido el jodío, en el rincón de abajo de la lista de
operadores, pero aquí está:

http://msdn.microsoft.com/es-es/library/ms173224(VS.80).aspx


En 13/06/2008 17:49:10, Fernando Gómez
escribió:

RFOG wrote:
En 12/06/2008 18:41:00, JSMD escribió:

existe en C#?.. o hay alguna otra funcion?


Sí, pero se llama operador condicional o ternario (porque sólo hay
uno), y como viene de C++ es un tanto abstruso.
string s=(p==true?"Cierto":"Falso");
<condicional>?<devuelve_esto_si_cierto>:<devuelve_esto_si_falso>;
http://msdn.microsoft.com/es-es/library/ty67wk28(VS.80).aspx



Mmm... y ya que estamos en estas, comentar que existe el operador ?? en
C#, que devuelve un valor si la condición es nula.

string s = null;
foo(s ?? string.Empty);

que sería equivalente a

foo(s != null ? s : string.Empty);

En el ejemplo anterior, dado que s es nulo, devuelve string.Empty.
Devolvería la propia s si ésta no fuese nula.

con respecto a IIf de VB, si no mal recuerdo uno de los problemas que
tiene es que no hay evaluación en corto circuito, por lo que si alguno
de los parámetros es nulo lanza excepción. El nuevo If de VB hace una
evaluación en corto circuito (o la emula, más bien).

Saludos.





Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
El lenguaje es el vestido de los pensamientos.
Respuesta Responder a este mensaje
#7 RFOG
13/06/2008 - 18:00 | Informe spam
Es que eso de picar con el alt-gr y la llave, y tener que apretar el
mayusculas para el ; exige destreza manual que parece que algunas personas
de más edad no tienen. :-P

Por cierto, ¿y de los tejaícos, los asteriscos y las flechicas también? :-P

En 13/06/2008 13:44:28, Lluis Franco escribió:

:-)
Ejem!!!
Sepa vd. caballero que YO siempre he sido más partidario de los finales
con punto y coma y de vivir la vida entre llaves...

grrrr,





Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
El lenguaje es el vestido de los pensamientos.
Respuesta Responder a este mensaje
#8 Fernando Gómez
14/06/2008 - 04:48 | Informe spam
RFOG wrote:
¡Vaya! Ese no lo conocía, je je.

Es que está escondido el jodío, en el rincón de abajo de la lista de
operadores, pero aquí está:

http://msdn.microsoft.com/es-es/library/ms173224(VS.80).aspx



Jeje, sí, a mí también me pasó desapercibido por mucho tiempo. En los
cursos de MS que tomé para la certificación no lo mencionaron nunca, ni
los libros que leí. Claro, eso fue en tiempos de .NET 1.0, y puede ser
que lo hayan introducido para .NET 2. En fin, es útil, me ha ahorrado
muchas líneas de código. :)


Saludos.
Respuesta Responder a este mensaje
#9 Octavio Hernandez
14/06/2008 - 09:04 | Informe spam
Efectivamente, ese operador apareció con los tipos anulables, en C# 2.0.

Salu2 - Octavio


"Fernando Gómez" wrote in message
news:
RFOG wrote:
¡Vaya! Ese no lo conocía, je je.

Es que está escondido el jodío, en el rincón de abajo de la lista de
operadores, pero aquí está:

http://msdn.microsoft.com/es-es/library/ms173224(VS.80).aspx



Jeje, sí, a mí también me pasó desapercibido por mucho tiempo. En los
cursos de MS que tomé para la certificación no lo mencionaron nunca, ni
los libros que leí. Claro, eso fue en tiempos de .NET 1.0, y puede ser que
lo hayan introducido para .NET 2. En fin, es útil, me ha ahorrado muchas
líneas de código. :)


Saludos.
Respuesta Responder a este mensaje
#10 Lluis Franco
26/06/2008 - 09:53 | Informe spam
Por cierto, ¿y de los tejaícos, los asteriscos y las flechicas también?
:-P



Pos también, pero hace más de 10 años que ya no uso flechas, me pasé a la
polvora.
Es que un servidor empezó con C 'pelao' y posteriormente con las dos cruces.
¡Que tiempos aquellos del turbo c++ o los compiladores de borland c++ (el
3.1 una cañaaaaaaaaa)!

Un saludo Rafa,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
NUG: http://andorradotnet.com
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20onli...uette.aspx
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida