C#: Модификатор out в параметрах

Интересную штуку вычитал :)

У меня давно возникал вопрос: как вернуть несколько параметров из вызываемого метода?

Это можно сделать при помощи модификатора out в параметрах.

Синтаксис такой:

[csharp]
void add(int a, int b, out bool isNULL, out int sumValue)
{
sumValue = a+b;
if (sumValue == 0)
isNULL = true;
else
isNULL = false;
}
[/csharp]

и нужно показать, как использовать эту функцию:

[csharp]
static void main(string args[])
{
int val;
bool is_null;
int pa = 2;
int pb = 3;

add(pa, pb, out is_null, out val);
Console.WriteLine(«числовое значение = {0}», val);
Console.WriteLine(«логическое значение = {0}», is_null);
}
[/csharp]

Что в этом интересного? Метод не возвращает ничего стандартным способом (тип данных void), однако данные из метода записываются в локальные переменные val и is_null. При этом важный момент это возвращение разных типов данных.

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

Примечание: Исходный код писал прямо в блог он не тестировался. Если вы найдете ошибку пожалуйста сообщайте об этом в комментариях.

Добавить комментарий