Como retornar vários valores de um chamador em C #

Como Retornar Varios Valores De Um Chamador Em C



Ao trabalhar com C#, pode haver situações em que seja necessário retornar vários valores de um método para o chamador. Isso pode ser uma ocorrência comum ao lidar com dados ou cálculos complexos e, neste artigo, exploraremos algumas das técnicas mais comuns para retornar vários valores em C#.

1: Como retornar vários valores para um chamador de método em C # usando parâmetros externos

Outra forma de retornar vários valores em C# é usando parâmetros out e nesse caso um parâmetro out é uma variável que é passada para um método por referência, e pode ser usada para retornar um valor do método, veja um exemplo:







usando Sistema;

Programa de classe pública
{
public static void Principal ( )
{
int [ ] números = { 3 , 1 , 4 , 1 , 5 , 9 , 2 , 6 , 5 , 3 } ;
int min, max;
GetMinMax ( números, out min, out max ) ;
Console.WriteLine ( $ 'Mín: {min}, Máx: {max}' ) ;
}

public static void GetMinMax ( int [ ] números, out int min, out int max )
{
min = números [ 0 ] ;
máx = números [ 0 ] ;

para ( int eu = 1 ; eu < números.Comprimento; i++ )
{
se ( números [ eu ] < min )
{
min = números [ eu ] ;
}
se ( números [ eu ] > máximo )
{
máx = números [ eu ] ;
}
}
}
}


Neste, o método GetMinMax usa uma matriz inteira como entrada junto com dois parâmetros de saída para min e max. A palavra-chave out é usada para indicar que essas variáveis ​​serão usadas para armazenar os valores de saída do método.



Dentro do método, as variáveis ​​min e max são inicializadas com o primeiro valor na matriz de entrada. O método então itera pelos valores restantes na matriz, atualizando as variáveis ​​min e max conforme necessário com base nos valores encontrados.



Por fim, quando o método é concluído, os valores atualizados para min e max são retornados por meio dos parâmetros out. No método Main, esses valores de saída são impressos no console usando o método WriteLine.





Usar a palavra-chave out para retornar vários valores pode ser uma técnica útil em situações em que você precisa retornar mais de um valor de um método. No entanto, vale a pena notar que o uso de parâmetros out pode tornar o código mais difícil de ler e entender, principalmente ao lidar com códigos mais complexos e geralmente é uma ideia melhor usar essa técnica com moderação e somente quando necessário.



2: Como retornar vários valores para um chamador de método em C# usando uma classe personalizada

Uma terceira maneira de retornar vários valores em C# é usando uma classe personalizada e criar uma classe que contenha propriedades ou campos para cada valor que você deseja retornar e depois retornar uma instância da classe do seu método, veja um exemplo:

usando Sistema;

namespace MeuNamespace
{
classe pública MinMaxResult
{
public int Min { pegar; definir ; }
público int máx. { pegar; definir ; }
}
classe estática pública MinMaxCalculator
{
public static MinMaxResult GetMinMax ( int [ ] números )
{
int min = números [ 0 ] ;
int máx = números [ 0 ] ;
para ( int eu = 1 ; eu < números.Comprimento; i++ )
{
se ( números [ eu ] < min )
{
min = números [ eu ] ;
}
se ( números [ eu ] > máximo )
{
máx = números [ eu ] ;
}
}
retornar novo MinMaxResult { Min = min, Max = max } ;
}
}
programa de classe
{
vazio estático Principal ( corda [ ] argumentos )
{
int [ ] números = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
Resultado MinMaxResult = MinMaxCalculator.GetMinMax ( números ) ;
Console.WriteLine ( $ 'Mín: {result.Min}, Máx: {result.Max}' ) ;
}
}
}


Este código C# define um namespace denominado “MyNamespace” que contém duas classes: “MinMaxResult” e “MinMaxCalculator”.

A classe “MinMaxResult” possui duas propriedades: “Min” e “Max”, que são utilizadas para armazenar os valores mínimo e máximo respectivamente.

A classe “MinMaxCalculator” é declarada como estática e possui um único método chamado “GetMinMax” que recebe uma matriz de inteiros como entrada. Esse método usa um loop para percorrer a matriz e localizar os valores mínimo e máximo. Em seguida, ele cria uma nova instância da classe “MinMaxResult” e inicializa suas propriedades “Min” e “Max” com os valores encontrados antes de retorná-lo como saída do método.

Por fim, a classe “Program” contém um método estático chamado “Main”, que é o ponto de entrada do programa e neste método um array de inteiros é inicializado e passado para o método “GetMinMax” da classe “MinMaxCalculator” para obter os valores mínimo e máximo.

Conclusão

Retornar vários valores para um chamador de método em C# pode ser um recurso importante ao trabalhar com dados ou cálculos complexos. Compreendendo as diferentes técnicas disponíveis para retornar vários valores, como parâmetros externos e classes personalizadas, você pode escolher a melhor abordagem para sua situação específica. O uso dessas técnicas pode tornar seu código mais eficiente, mais fácil de ler e, por fim, melhorar o desempenho de seu aplicativo.