Ключевое слово out означает, что передача методу переменной происходит по ссылке.
При передаче переменной методу по ссылке, происходит реальная передача значения переменной, поэтому, значение после выполнения метода изменяется.
В отличие от параметра ref, при параметре out переменные могут быть не инициализированы.
При вызове метода, ключевое слово out нужно указывать явно.
С помощью параметра out метод, может принимать несколько аргументов, может возвращать несколько значений.
При передаче переменной методу по ссылке, происходит реальная передача значения переменной, поэтому, значение после выполнения метода изменяется.
В отличие от параметра ref, при параметре out переменные могут быть не инициализированы.
При вызове метода, ключевое слово out нужно указывать явно.
С помощью параметра out метод, может принимать несколько аргументов, может возвращать несколько значений.
Main.cs
usingSystem;classOne {-
publicdecimalval0; -
publicdecimalval1; -
publicdecimalval2; -
//несколько аргументов передаются по значению -
//метод присваивает значения полям -
publicvoidFun(outdecimalarg0,outdecimalarg1,outdecimalarg2) { -
arg0 = 5; -
arg1 = 10; -
arg2 = 15; -
} }classProgram {-
publicstaticintMain() { -
One O =newOne(); -
//при вызове метода, ключевое слово out нужно указывать явно -
O.Fun(outO.val0,outO.val1,outO.val2); -
Console.WriteLine(O.val0); -
Console.WriteLine(O.val1); -
Console.WriteLine(O.val2); -
Console.ReadKey(); -
return0; -
} }
usingSystem;classOne {-
publicdecimalval0; -
publicdecimalval1; -
publicdecimalval2; -
//несколько аргументов передаются по значению -
//метод присваивает значения полям -
publicvoidFun(outdecimalarg0,outdecimalarg1,outdecimalarg2) { -
arg0 = 5; -
arg1 = 10; -
arg2 = 15; -
} }classProgram {-
publicstaticintMain() { -
One O =newOne(); -
//при вызове метода, ключевое слово out нужно указывать явно -
O.Fun(outO.val0,outO.val1,outO.val2); -
Console.WriteLine(O.val0); -
Console.WriteLine(O.val1); -
Console.WriteLine(O.val2); -
Console.ReadKey(); -
return0; -
} }
5
10
15
10
15