Как вернуть несколько значений из вызывающего объекта в C#

Kak Vernut Neskol Ko Znacenij Iz Vyzyvausego Ob Ekta V C



При работе с C# могут возникнуть ситуации, когда требуется вернуть несколько значений из метода в вызывающую программу. Это может быть обычным явлением при работе со сложными данными или вычислениями, и в этой статье мы рассмотрим некоторые из наиболее распространенных методов возврата нескольких значений в C#.

1: Как вернуть несколько значений вызывающему методу в C#, используя параметры out

Другой способ вернуть несколько значений в C# — использовать выходные параметры, и в этом случае выходной параметр — это переменная, которая передается методу по ссылке и может использоваться для возврата значения из метода, вот пример:







с помощью системы;

Программа публичного класса
{
public static void Основной ( )
{
инт [ ] числа = { 3 , 1 , 4 , 1 , 5 , 9 , 2 , 6 , 5 , 3 } ;
инт мин, макс;
ПолучитьМинМакс ( числа, выход мин., выход макс. ) ;
Console.WriteLine ( $ 'Мин: {мин}, Макс: {макс}' ) ;
}

public static void GetMinMax ( инт [ ] числа, out int min, out int max )
{
мин = числа [ 0 ] ;
максимум = числа [ 0 ] ;

для ( я = 1 ; я < числа.Длина; я++ )
{
если ( числа [ я ] < мин )
{
мин = числа [ я ] ;
}
если ( числа [ я ] > Макс )
{
максимум = числа [ я ] ;
}
}
}
}


В этом метод GetMinMax принимает массив целых чисел в качестве входных данных вместе с двумя выходными параметрами для минимального и максимального значения. Ключевое слово out используется для указания того, что эти переменные будут использоваться для хранения выходных значений метода.



Внутри метода переменные min и max инициализируются первым значением во входном массиве. Затем метод выполняет итерацию по оставшимся значениям в массиве, при необходимости обновляя переменные min и max на основе обнаруженных значений.



Наконец, когда метод завершается, обновленные значения min и max возвращаются через выходные параметры. В методе Main эти выходные значения выводятся на консоль с помощью метода WriteLine.





Использование ключевого слова out для возврата нескольких значений может оказаться полезным в ситуациях, когда вам нужно вернуть более одного значения из метода. Однако стоит отметить, что использование параметров out может затруднить чтение и понимание кода, особенно при работе с более сложным кодом, и, как правило, лучше использовать этот метод с осторожностью и только в случае необходимости.



Глава 2. Как вернуть несколько значений вызывающему методу в C# с помощью пользовательского класса

Третий способ вернуть несколько значений в C# — использовать пользовательский класс и создать класс, содержащий свойства или поля для каждого значения, которое вы хотите вернуть, а затем вернуть экземпляр класса из вашего метода, вот пример:

с помощью системы;

пространство имен MyNamespace
{
открытый класс MinMaxResult
{
публичный мин. { получать; набор ; }
публичный инт Макс { получать; набор ; }
}
общедоступный статический класс MinMaxCalculator
{
публичный статический MinMaxResult GetMinMax ( инт [ ] числа )
{
интервал мин = числа [ 0 ] ;
интервал макс = числа [ 0 ] ;
для ( я = 1 ; я < числа.Длина; я++ )
{
если ( числа [ я ] < мин )
{
мин = числа [ я ] ;
}
если ( числа [ я ] > Макс )
{
максимум = числа [ я ] ;
}
}
возвращаться новый МинМаксРезультат { Мин. = мин., Макс. = макс. } ;
}
}
программа класса
{
статическая пустота Главная ( нить [ ] аргументы )
{
инт [ ] числа = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
Результат MinMaxResult = MinMaxCalculator.GetMinMax ( числа ) ;
Console.WriteLine ( $ 'Мин: {результат.Мин}, Макс: {результат.Макс}' ) ;
}
}
}


Этот код C# определяет пространство имен с именем «MyNamespace», которое содержит два класса: «MinMaxResult» и «MinMaxCalculator».

Класс «MinMaxResult» имеет два свойства: «Min» и «Max», которые используются для хранения минимального и максимального значений соответственно.

Класс «MinMaxCalculator» объявлен как статический и имеет единственный метод с именем «GetMinMax», который принимает массив целых чисел в качестве входных данных. Этот метод использует цикл для перебора массива и поиска минимального и максимального значений. Затем он создает новый экземпляр класса «MinMaxResult» и инициализирует его свойства «Min» и «Max» найденными значениями, прежде чем вернуть его в качестве вывода метода.

Наконец, класс «Программа» содержит статический метод с именем «Главный», который является точкой входа в программу, и в этом методе массив целых чисел инициализируется и передается в метод «GetMinMax» класса «MinMaxCalculator» для получения минимальное и максимальное значения.

Заключение

Возврат нескольких значений вызывающей стороне метода в C# может быть важной функцией при работе со сложными данными или вычислениями. Понимая различные методы, доступные для возврата нескольких значений, такие как выходные параметры и пользовательские классы, вы можете выбрать лучший подход для вашей конкретной ситуации. Использование этих методов может сделать ваш код более эффективным, легким для чтения и, в конечном счете, повысить производительность вашего приложения.