none
Paso de valores por valor y por referencia en c# con visual studio RRS feed

Respuestas

  • Hola mauro Perez

    Por ejemplo, realizas una clase a la cual le pasas un par de valores y estos solo quedan en la función, pero ahí quedan no te traen nada de retorno. Por ejemplo:

    public int suma(int valor1, valor2)
    {
    int sum = valor1 + valor2;
    return sum;
    }
    
    //y cuando la invocas, algo así:
    int numero1 = 10;
    int numero2 = 20;
    int resultado = 0;
    //al llamar la función esperarás que te retorne la suma de ellos, verdad?
    
    resultado = suma(numero1,numero2);
    // pero nota que en resultado irá lo que te devuelva la función, es decir 10 + 20 = 30

    En el caso de los valores por referencia es que tu envíes un valor a la función y muy aparte del resultado de la misma, también vendrá lo que guardes en dicha variable por referencia. Por ejemplo:

    public int suma(int valor1, int valor2, ref string mensaje)
    {
    mensaje = "La suma se va a realizar";
    return valor1 + valor2;
    }
    
    //y cuando lo invocas algo así
    int numero1 = 10;
    int numero2 = 20;
    int resultado2= 0;
    string mensajeprueba = string.Empty;
    
    //llamando la función pasando los parámetros
    
    resultado2 = suma(numero1, numero2, ref mensajeprueba);
    
    //como verás en resultado2, tendrás la suma de 10 + 20, pero en tu variable mensajeprueba ya tienes el texto "La suma se va a realizar" y por ejemplo la puedes imprimir, si te das cuenta es muy independiente de lo que retorna la función:
    
    MessageBox.Show(mensajeprueba);
    Saludos

    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Propuesto como respuesta Jorge TurradoMVP domingo, 1 de octubre de 2017 0:50
    • Marcado como respuesta mauro Perez domingo, 1 de octubre de 2017 1:20
    domingo, 1 de octubre de 2017 0:33