Al trabajar con C#, puede haber situaciones en las que se requiere devolver múltiples valores de un método a la persona que llama. Esto puede ser una ocurrencia común cuando se trata de datos o cálculos complejos y en este artículo, exploraremos algunas de las técnicas más comunes para devolver múltiples valores en C#.
1: Cómo devolver múltiples valores a un método que llama en C# usando parámetros de salida
Otra forma de devolver múltiples valores en C# es mediante el uso de parámetros y en ese caso un parámetro de salida es una variable que se pasa a un método por referencia, y se puede usar para devolver un valor del método, aquí hay un ejemplo:
usando el sistema;
programa de clase pública
Public static void main ()
int [] números = 3, 1, 4, 1, 5, 9, 2, 6, 5, 3;
int min, max;
Getminmax (números, fuera min, fuera max);
Consola.WriteLine ($ "min: min, max: max");
Public static void getminmax (int [] números, fuera int min, fuera int max)
min = números [0];
max = números [0];
para (int i = 1; i < numbers.Length; i++)
if (números [i] < min)
min = números [i];
if (números [i]> max)
max = números [i];
En esto, el método getminmax toma una matriz entera como entrada junto con dos parámetros de salida para min y max. La palabra clave de salida se usa para indicar que estas variables se utilizarán para almacenar los valores de salida del método.
Dentro del método, las variables min y max se inicializan al primer valor en la matriz de entrada. El método luego itera a través de los valores restantes en la matriz, actualizando las variables MIN y MAX según sea necesario en función de los valores encontrados.
Finalmente, cuando se completa el método, los valores actualizados para Min y Max se devuelven a través de los parámetros de salida. En el método principal, estos valores de salida se imprimen en la consola utilizando el método de escritura.
El uso de la palabra clave de salida para devolver múltiples valores puede ser una técnica útil en situaciones en las que necesita devolver más de un valor de un método. Sin embargo, vale la pena señalar que el uso de parámetros de salida puede dificultar el código de leer y comprender, particularmente cuando se trata de un código más complejo y, en general, es una mejor idea usar esta técnica con moderación y solo cuando sea necesario.
2: Cómo devolver múltiples valores a un método que llama en C# usando una clase personalizada
Una tercera forma de devolver múltiples valores en C# es mediante el uso de una clase personalizada y crear una clase que contenga propiedades o campos para cada valor que desea devolver y luego devolver una instancia de la clase desde su método, aquí hay un ejemplo:
usando el sistema;
espacio de nombres mynamespace
clase pública minmaxResult
public int min get; colocar;
public int max get; colocar;
Clase estática pública MinmaxCalculator
Public static minmaxResult getminmax (int [] números)
int min = números [0];
int max = números [0];
para (int i = 1; i < numbers.Length; i++)
if (números [i] < min)
min = números [i];
if (números [i]> max)
max = números [i];
devolver nuevo MinmaxResult min = min, max = max;
programa de clase
static void main (string [] args)
int [] números = 1, 2, 3, 4, 5, 6, 7, 8, 9;
Resultado minmaxResult = minmaxCalculator.Getminmax (números);
Consola.WriteLine ($ "min: resultado.Min, max: resultado.Max ");
Este código C# define un espacio de nombres llamado "MyNamespace" que contiene dos clases: "MinmaxResult" y "MinmaxCalculator".
La clase "MinmaxResult" tiene dos propiedades: "Min" y "Max", que se utilizan para almacenar los valores mínimos y máximos respectivamente.
La clase "MinmaxCalculator" se declara como estática y tiene un solo método llamado "GetMinmax" que toma una matriz de enteros como entrada. Este método utiliza un bucle para iterar a través de la matriz y encontrar los valores mínimos y máximos. Luego crea una nueva instancia de la clase "MinmaxResult" e inicializa sus propiedades "Min" y "Max" con los valores encontrados antes de devolverla como salida del método.
Finalmente, la clase "Programa" contiene un método estático llamado "Main", que es el punto de entrada del programa y, en este método los valores mínimos y máximos.
Conclusión
Devolver múltiples valores a un método que llama en C# puede ser una característica importante cuando se trabaja con datos o cálculos complejos. Al comprender las diferentes técnicas disponibles para devolver múltiples valores, como parámetros de salida y clases personalizadas, puede elegir el mejor enfoque para su situación específica. El uso de estas técnicas puede hacer que su código sea más eficiente, más fácil de leer y, en última instancia, mejorar el rendimiento de su aplicación.