Интересную штуку вычитал :)
У меня давно возникал вопрос: как вернуть несколько параметров из вызываемого метода?
Это можно сделать при помощи модификатора 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 полезен, когда нужно вывести несколько значений из метода, так же такой вывод позволяет избежать использования глобальных переменных.
Примечание: Исходный код писал прямо в блог он не тестировался. Если вы найдете ошибку пожалуйста сообщайте об этом в комментариях.