none
diferencia entre obj as Customer y (customer)obj RRS feed

  • Pregunta

  • Hola.

    Podrian indicarme la diferencia entre

    var customer1= obj as Customer;

    var customer2= (Customer)obj;

    para mi en customer1 estoy utilizando conversion implicita pues se que los dos objetos son iguales y que no perdere informacion al realizar el cast, mientras en el segundo estoy tratando de hacer una conversion la cual puede fallar e incluso podria perder informacion(propiedades), esa es mi respuesta pero me indicaron que no es valida, podrian indicarme en que me equivoco?


    pabletoreto

    lunes, 4 de noviembre de 2019 18:51

Respuestas

  • hola

    la diferencia es que al usas "as" si la conversion no se puede realizar no fallara, sino que dejara un null en customer1

    mientras que la usas () sino puede castear tendras un exception

    var customer1= obj as Customer;
    
    if(customer1 == null){
    
      //si ingresa no puedo convertir
    
    }

    try{
    
          var customer2= (Customer)obj;
    
    } catch(Exception ex){
    
       //sino convierte tendras un error
    
    }


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta pabletoreto lunes, 4 de noviembre de 2019 20:34
    lunes, 4 de noviembre de 2019 20:18

Todas las respuestas

  • Hola Pabletoreto

    No hay ninguna diferencia. 

    En ambos casos funciona igual, siempre y cuando el tipo de la variable obj se pueda convertir al tipo Customer

    Saludos

    Pablo

    lunes, 4 de noviembre de 2019 19:33
  • hola

    la diferencia es que al usas "as" si la conversion no se puede realizar no fallara, sino que dejara un null en customer1

    mientras que la usas () sino puede castear tendras un exception

    var customer1= obj as Customer;
    
    if(customer1 == null){
    
      //si ingresa no puedo convertir
    
    }

    try{
    
          var customer2= (Customer)obj;
    
    } catch(Exception ex){
    
       //sino convierte tendras un error
    
    }


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta pabletoreto lunes, 4 de noviembre de 2019 20:34
    lunes, 4 de noviembre de 2019 20:18
  • Hola, Leandro!

    Gracias por desasnarme, creía que era lo mismo, pero nos enseñaste a los 2 (al menos)

    Me parece que lo mio es más que nada los algoritmos, el lenguaje y el framework son inmensos, y se nota que tenés mucha más experiencia que yo

    Saludos y gracias!

    Pablo

    martes, 5 de noviembre de 2019 20:31