The поза це ключове слово в C#, яке використовується для передачі аргументів методам як довідковий тип. Зазвичай він використовується, коли метод повертає кілька значень.
Важливі моменти:
- Це схоже на ключове слово ref. Але головне різниця між ref і out ключове слово полягає в тому, що ref вимагає, щоб змінна була ініціалізована перед тим, як її передати в метод. Але вихідний параметр не вимагає ініціалізації змінних перед передачею в метод. Але перш ніж він повертає значення викликаному методу, змінна повинна бути ініціалізована в викликаному методі.
- Воно також схоже на ключове слово in, але the в ключове слово не дозволяє методу, який викликається, змінювати значення аргументу, але посилання дозволяє.
- Для використання поза ключове слово як параметр як у визначенні методу, так і в методі виклику має використовувати поза ключове слово явно.
- Вихідні параметри не можна використовувати в асинхронних методах.
- Вихідні параметри не можна використовувати в методах ітератора.
- У методі може бути більше одного вихідного параметра.
- Під час виклику методу вихідний параметр може бути оголошений вбудованим. Але доступ до вбудованих вихідних параметрів можна отримати в тому самому блоці коду, де він викликається.
- Перевантаження методів також можна здійснити за допомогою параметрів out.
- Властивості не можна передати як вихідні параметри, оскільки вони не є змінними.
- До C# 6.0 користувач спочатку оголошує змінну, а потім її можна передавати лише як вихідний аргумент. Але починаючи з C# 7.0, за винятком окремого оголошення змінної, користувач також може оголосити вихідну змінну в списку аргументів виклику методу.
Оголошення вихідного параметра:
// No need to initialize // the variable here data_type variable_name; Method_Name(out variable_name); // you can also convert both above two // lines of codes as follows from // C# 7.0 onwards Method_Name(out data_type variable_name);>
Тут значення ім'я_змінної має бути ініціалізовано у викликаному методі, перш ніж він поверне значення.
приклад:
C#
// C# program to illustrate the> // concept of out parameter> using> System;> class> GFG {> >// Main method> >static> public> void> Main()> >{> >// Declaring variable> >// without assigning value> >int> i;> >// Pass variable i to the method> >// using out keyword> >Addition(>out> i);> >// Display the value i> >Console.WriteLine(>'The addition of the value is: {0}'>, i);> >}> >// Method in which out parameter is passed> >// and this method returns the value of> >// the passed parameter> >public> static> void> Addition(>out> int> i)> >{> >i = 30;> >i += i;> >}> }> |
>
>Вихід:
The addition of the value is: 60>
Кілька вихідних параметрів: У C# користувачеві дозволено передавати кілька параметрів методу, і метод повертає кілька значень.
приклад: У наведеному нижче коді ми оголосили дві змінні значення без ініціалізації, тобто int i, j;. Тепер ми передаємо ці параметри методу Addition за допомогою ключового слова out, наприклад Addition(out i, out j);. Значення цих змінних присвоюється в методі, в якому вони передані.
C#
sql порядок за датою
// C# program to illustrate the> // concept of multiple out parameter> using> System;> class> GFG {> >// Main method> >static> public> void> Main()> >{> >// Declaring variables> >// without assigning values> >int> i, j;> >// Pass multiple variable to> >// the method using out keyword> >Addition(>out> i,>out> j);> >// Display the value i and j> >Console.WriteLine(>'The addition of the value is: {0}'>, i);> >Console.WriteLine(>'The addition of the value is: {0}'>, j);> >}> >// Method in which out parameters> >// are passed and this method returns> >// the values of the passed parameters> >public> static> void> Addition(>out> int> p,>out> int> q)> >{> >p = 30;> >q = 40;> >p += p;> >q += q;> >}> }> |
>
публічна проти приватної java
>Вихід:
The addition of the value is: 60 The addition of the value is: 80>
Покращення вихідного параметра в C# 7.0: У C# 7.0 є деякі нові функції, додані до параметра out, і ці функції:
- У C# 7.0 параметр out може проходити без його оголошення та ініціалізації, що називається Внутрішня декларація параметра Out або неявний Тип вихідного параметра . Його область обмежена тілом методу, тобто локальною областю.
- Дозволено використовувати параметр out був введіть список параметрів методу.
- У вихідному параметрі необов’язково, щоб ім’я вихідного параметра було однаковим як у визначенні, так і в виклику.
- Його також можна використовувати в Спробуйте шаблон.
приклад: Наведені нижче програми демонструють вбудоване оголошення параметра Out. Тут рядок коду, тобто Area(out int length, out int width, out int Rarea); містить вбудоване оголошення параметра Out, оскільки ці змінні оголошуються безпосередньо всередині виклику методу. Значення змінних ініціалізується в методі, в якому вони передані.
Примітка: Для виконання цього прикладу вам потрібна версія C# 7.0.
приклад:
C#
// C# program to illustrate the> // concept of out parameter> using> System;> class> GFG> {> >// Main method> >static> public> void> Main()> >{> >// In-line declaring variables> >// without assigning values> >// Passing multiple variable to> >// the method using out keyword> >Area(>out> int> length,>out> int> width,>out> int> Rarea);> >// Display the value length, width, and Rarea> >System.Console.WriteLine(>'Length of the rectangle is: '>+ length);> >System.Console.WriteLine(>'Width of the rectangle is: '>+ width);> >System.Console.WriteLine(>'Area of the rectangle is: '>+ Rarea);> >Console.ReadLine();> >}> >// Method in which out parameters are passed> >// and this method returns the values of> >// the passed parameters> >public> static> void> Area(>out> int> p,>out> int> q,>out> int> Rarea)> >{> >p = 30;> >q = 40;> >Rarea = p * q;> >}> }> |
>
>
Вихід:
Length of the rectangle is : 30 Width of the rectangle is : 40 Area of the rectangle is : 1200>