none
¿Qué hace exactamente el operador "?"? RRS feed

  • Pregunta

  • Si hago esta declaracióm:

    Dim cNombreBoton As String = Boton?.Name

    Si no me equivoco, lo que hace es asignar el nombre del botón a cNombreBoton, o Nothing si el objeto Boton no está inicializado.

    ¿Qué hace exactamente el operador "?"?

    domingo, 26 de julio de 2020 22:40

Respuestas

  • Lo que hace es evitar que se produzca un error de NullReferenceException en el caso de que Boton sea Nothing.

    Es equivalente escrito en sintaxis clásica es este:

    If Boton <> Nothing then cNombreBoton = Boton.Name Else cNombreBoton = Nothing

    Pero como ves es más breve si se escribe con ?.

    Eso sí, la sintaxis ?. solo existe en las versiones más recientes; si lo intentas hacer con un compilador un poco más antiguo, te dará un error.

    • Marcado como respuesta James2016-2 lunes, 27 de julio de 2020 10:45
    lunes, 27 de julio de 2020 5:56

Todas las respuestas

  • Lo que hace es evitar que se produzca un error de NullReferenceException en el caso de que Boton sea Nothing.

    Es equivalente escrito en sintaxis clásica es este:

    If Boton <> Nothing then cNombreBoton = Boton.Name Else cNombreBoton = Nothing

    Pero como ves es más breve si se escribe con ?.

    Eso sí, la sintaxis ?. solo existe en las versiones más recientes; si lo intentas hacer con un compilador un poco más antiguo, te dará un error.

    • Marcado como respuesta James2016-2 lunes, 27 de julio de 2020 10:45
    lunes, 27 de julio de 2020 5:56
  • Hola James2016-2,

     

    gracias por confirmar que encontraste una respuesta a tu pregunta. 

     

    Saludos cordiales

     

    Gabriel Castro

    lunes, 27 de julio de 2020 16:24
    Moderador
  • Hola James2016-2,

     

    gracias por confirmar que encontraste una respuesta a tu pregunta. 

     

    Saludos cordiales

     

    Gabriel Castro

    De nada. Saludos cordiales, también.
    lunes, 27 de julio de 2020 19:17