logo

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


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>