Вихідний параметр із прикладами в C#
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#
// 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;> > }> }> |
Вихід:
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