Se você estiver criando um aplicativo em C#, estará acostumado a chamar funções para retornar valores específicos. Às vezes, pode haver casos em que você precise retornar vários valores de uma única função.
Existem diferentes maneiras de conseguir isso. Uma delas é retornar vários valores dentro de um único array. Você também pode atribuir valores a várias variáveis globais, de dentro da função.
Dependendo de sua lógica de negócios, requisitos de escopo ou convenções, outra maneira de conseguir isso é usar parâmetros.
O que é um parâmetro de saída?
A maneira padrão de retornar um valor de uma função é usar a palavra-chave "return". Se você não está familiarizado com o que é uma função, você pode ler mais sobre funções na programação. Você também pode explorar outros princípios básicos de programação.
estáticovazio Cálculo()
{
dobro número = 30;
retornar número;
}
Outra maneira de recuperar um valor de uma função é usar um parâmetro "out". Você pode declarar um parâmetro out dentro da assinatura do método. Você pode usar a palavra-chave "out" para indicar que o parâmetro é um parâmetro out.
Em vez de usar a palavra-chave return, você sempre deve atribuir um valor ao parâmetro out.
estáticovazioCálculo(fora dobro número)
{
número = 30;
}
Ao chamar o método Calculation(), passe uma variável para o parâmetro out. O programa obterá o valor da variável "number" dentro da função Calculation() e o atribuirá à variável inserida. Neste caso, o valor "30" será gerado.
dobro número = 0;
// Obtém o valor da variável "number" dentro da função Calculation(), que é 30.
Cálculo (out number);
// Imprime o número 30
Console.WriteLine(número);
Como criar uma função com um parâmetro Out
Crie uma função dentro de um novo aplicativo de console C# e dê ao parâmetro a palavra-chave "out".
- Abra o Visual Studio no seu computador e clique em Criar um novo projeto.
- Selecione Aplicação de console, e clique em Próximo.
- Nomeie seu projeto e selecione um local para armazenar seus arquivos do Visual Studio. Clique em Próximo.
- Clique em Criar. O Visual Studio gerará o código inicial para um aplicativo de console simples.
- Abaixo da função Main(), crie uma nova função chamada CalculateTaxSalary(). O objetivo desta função é deduzir o imposto do salário de uma pessoa para calcular seu salário líquido.
estáticodobroCalculateTaxSalary(int salário, fora dobro valor tributado)
{
} - Dentro da função, adicione o cálculo do salário líquido após impostos. Retorne o resultado.
estáticodobroCalculateTaxSalary(int salário)
{
constdobro taxataxa = 0.3;
dobro takeHomeSalary = salario - (salario * taxRate);
retornar takeHomeSalary;
} - Remova a saída padrão "Hello World" na função principal. Em vez disso, chame a função CalculateTaxSalary(). Imprima o resultado retornado da função para o console.
estáticovazio Principal (string[] argumentos)
{
dobro takeHomeSalary = CalculateTaxSalary(100000);
Console. WriteLine($"O salário líquido de $ 100,000é $ {takeHomeSalary}");
} - Modifique a função CalculateTaxSalary() para que você também precise retornar um segundo valor. O segundo valor conterá o valor tributado. Como você já está usando a instrução return para retornar um valor, use um parâmetro out. Adicione um parâmetro taxedAmount out à assinatura do método.
estáticodobroCalculateTaxSalary(int salário, fora dobro valor tributado)
- Dentro da função CalculateTaxSalary(), calcule o valor do imposto aplicado ao salário. Atribua o resultado à variável taxedAmount.
estáticodobroCalculateTaxSalary(int salário, fora dobro valor tributado)
{
constdobro taxataxa = 0.3;
taxAmount = salário * taxRate;
dobro takeHomeSalary = salário - valortributado;
retornar takeHomeSalary;
}
Como retornar um valor de um parâmetro de saída
Para recuperar o valor de um parâmetro out, chame a função e armazene o valor do parâmetro out em uma variável local.
- Remova o código existente da função Main(). Crie uma nova variável para armazenar o valor tributado.
dobro valortributado = 0;
- Chame a função CalculateTaxSalary(). A função retornará o salário líquido usando a instrução return. A função também recuperará o valor da variável taxedAmount, usando o parâmetro out. Ele armazenará o valor na variável taxedAmount dentro da função principal.
dobro takeHomeSalary = CalculateTaxSalary(100000, valor tributado);
Console. WriteLine($"O salário líquido de $ 100,000é $ {takeHomeSalary}. O valor tributado foi $ {taxedAmount}.");
Como usar vários parâmetros de saída
Para usar vários parâmetros out, crie uma função e adicione a palavra-chave out a todos os parâmetros dos quais você gostaria de retornar um valor.
- Crie uma nova função chamada MultipleValues(). Adicione três parâmetros externos e atribua um valor a cada um deles.
estáticovazioValores Múltiplos(fora int um, fora int ataque int c)
{
a = 10;
b = 20;
c = 30;
} - Na função Main(), crie variáveis locais para cada um dos três valores.
int um = 0;
int b = 0;
int c = 0; - Chame a função MultipleValues() para retornar os três valores por meio dos parâmetros out.
MultipleValues (out a, out b, out c);
Console. WriteLine($"a: {a}, b: {b}, c: {c}");
Como executar o aplicativo de console
Ao executar o aplicativo, uma janela de prompt de comando será aberta para mostrar todas as instruções impressas em seu aplicativo.
- Na parte superior do aplicativo Visual Studio, clique no botão play verde para iniciar o aplicativo do console.
- O Visual Studio compilará o programa e abrirá um prompt de comando. O prompt de comando exibirá os resultados gerados. Isso inclui os valores que as funções retornaram como parâmetros de saída.
Usando parâmetros de saída em um console de aplicativo C#
Em C#, os parâmetros out permitem que você retorne mais de um valor de uma função. Você pode declarar vários parâmetros de saída na assinatura do método e atribuir valores a essas variáveis dentro da função. Ao chamar a função, você pode recuperar os valores armazenados nesses parâmetros out e utilizá-los em outros locais da aplicação.
Se você estiver lidando com objetos e grupos de dados complexos, também poderá retornar objetos com base em uma classe. Você pode explorar mais sobre como criar e usar classes em C#.