• Domingo 22 de Diciembre de 2024, 15:04

Autor Tema:  Operador "?" en C#  (Leído 4295 veces)

okap

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Operador "?" en C#
« en: Jueves 18 de Septiembre de 2008, 13:47 »
0
Hola a todos:

  Estoy introduciendome en el manejo del lenguaje C# y estoy siguiento un libro en el que me pone una expresión que aparece el operador "?" y la verdad es que no sé que utilidad tiene en C#. He buscado en el libro que estoy utilizando pero no viene nada sobre dicho operador. Bueno, hablo de operador pero realmente desconozco si actua como tal.

  Realmente la parte de esta expresión que no entiendo muy bien es esta: "? -1 : dx", la expresión completa es la que sigue:

  dx = radioButton1.Location.X >= this.ClientSize.Width - radioButton1.Width ? -1 : dx;

  Espero que alguién me pueda ayudar.
  Muchas gracias por todo.
  Un saludo.

E.Baley

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Operador "?" en C#
« Respuesta #1 en: Jueves 18 de Septiembre de 2008, 15:45 »
0
Es una forma abreviada de "if - then - else"
En realidad sería:
(lo que buscas es definir la variable dx)

Código: Text
  1. if (radioButton1.Location.X >= this.ClientSize.Width - radioButton1.Width) {
  2.     dx = -1;
  3. } else {
  4.     // nada, dx se queda igual
  5. }
  6.  

okap

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Operador "?" en C#
« Respuesta #2 en: Jueves 18 de Septiembre de 2008, 18:19 »
0
Muchas gracias E.Baley.
La verdad es que el lenguaje que conozco es C++ y esa manera de definir un if-else, la desconocia por completo. Por lo menos hasta donde yo sé en C++ no existe la posibilidad de definir un if-else de esa forma, por lo visto debe de ser una forma nativa de C#.
Gracias de nuevo por la ayuda prestada, me ha sido muy útil tu aclaración.
Un saludo.

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Operador "?" en C#
« Respuesta #3 en: Jueves 18 de Septiembre de 2008, 19:03 »
0
En C y en C++ tambien existe esa forma de declarar un if, de ahi se lo copio el C#

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================