Parameter Keluar C#

WBOY
Lepaskan: 2024-09-03 15:29:34
asal
857 orang telah melayarinya

'keluar' ialah kata kunci dalam C#, yang digunakan untuk menghantar argumen kepada kaedah sebagai jenis rujukan. Pembolehubah dihantar ke kaedah kerana parameter keluar tidak perlu diisytiharkan atau dimulakan sebelum ia dihantar ke panggilan kaedah. Kaedah yang dipanggil diperlukan untuk memberikan nilai kepada pembolehubah parameter keluar sebelum kawalan meninggalkan kaedah yang dipanggil dan sebelum kaedah yang dipanggil mengembalikan sebarang nilai kepada kaedah panggilan. Adalah mungkin untuk menghantar berbilang parameter kepada kaedah dan kaedah itu mengembalikan berbilang nilai.

Sintaks dengan penjelasan:

Semasa memanggil kaedah menggunakan parameter keluar, sintaksnya adalah seperti berikut:

Method_name(out data_type variable_name);
Salin selepas log masuk

Di sini, Method_name ialah mana-mana nama yang ditentukan pengguna yang diberikan kepada kaedah, 'out' ialah kata kunci yang digunakan untuk menyatakan bahawa pembolehubah yang dihantar kepada kaedah adalah parameter keluar, data_type boleh menjadi mana-mana jenis data pembolehubah dan variable_name ialah nama pembolehubah yang ditentukan pengguna.

Sintaks untuk kaedah yang akan dipanggil adalah seperti berikut:

access_specifier return_type Method_name(out data_type variable_name);
Salin selepas log masuk

Di sini, access_specifier boleh menjadi mana-mana penentu akses antara lima penentu akses yang disokong oleh C# seperti awam atau peribadi. Kemudian, return_type ialah jenis data yang dipulangkan oleh kaedah ini diikuti dengan nama kaedah dan senarai parameter 'keluar'.

Bagaimana parameter 'keluar' berfungsi dalam C#?

Dalam C#, kata kunci 'keluar' berfungsi serupa dengan kata kunci 'ref' dan 'in'. Perbezaan antara parameter 'keluar' dan 'ref' ialah, pembolehubah parameter 'keluar' tidak perlu dimulakan sebelum ia dihantar ke kaedah, pengguna boleh mengisytiharkan pembolehubah parameter 'keluar' dalam senarai argumen kaedah bukannya mengisytiharkannya secara berasingan yang dipanggil pengisytiharan sebaris bagi parameter 'keluar' manakala pembolehubah parameter 'ref' perlu dimulakan sebelum ia dihantar ke kaedah. Parameter 'keluar' yang diisytiharkan sebaris boleh diakses dalam blok kod yang sama.

Contoh #1

Kod:

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main(string[] args)
{
//inline declaration of 'out' parameter
Display(out int num);
Console.WriteLine("Value of variable 'num': {0}", num);
Console.ReadLine();
}
public static void Display(out int a)
{
//need to assign value
a = 10;
a += a;
}
}
}
Salin selepas log masuk

Output:

Parameter Keluar C#

  • Kini, perbezaan antara kata kunci 'keluar' dan 'masuk' ialah, nilai parameter 'keluar' boleh diubah suai di dalam kaedah yang dipanggil manakala nilai parameter 'masuk' tidak boleh diubah suai di dalam kaedah yang dipanggil.
  • Kaedah boleh mempunyai lebih daripada satu parameter 'keluar' seperti: Paparan(keluar x, keluar y);
  • Untuk mengendalikan parameter 'keluar', pengguna perlu menggunakan kata kunci 'keluar' secara eksplisit dalam definisi kaedah dan juga dalam kaedah panggilan. Pada masa yang sama, nama yang diberikan kepada parameter 'keluar' dalam definisi kaedah dan panggilan tidak semestinya sama.
  • Parameter 'keluar' diluluskan dengan merujuk kepada kaedah oleh itu ia tidak mencipta lokasi storan baharu dalam memori dan menggunakan lokasi storan yang sama yang diduduki oleh argumen pembolehubah dalam penyeruan kaedah. Oleh kerana kaedah menggunakan parameter 'keluar' boleh mengembalikan berbilang nilai, ia membantu pengguna mendapatkan berbilang nilai yang diproses daripada kaedah yang dipanggil. Tetapi sebelum kaedah mengembalikan sebarang nilai kepada kaedah panggilan, parameter 'keluar' mesti diberikan dengan beberapa nilai dalam kaedah.
  • Kami tidak boleh menggunakan parameter 'keluar' dalam semua jenis kaedah seperti kami tidak boleh menggunakan parameter 'keluar' dalam kaedah tak segerak yang kami takrifkan menggunakan pengubah 'async' dan juga kami tidak boleh menggunakan parameter 'keluar' dalam kaedah 'iterator' yang terdiri daripada pernyataan 'pulangan hasil' atau 'pulangan hasil'. Oleh kerana sifat bukan pembolehubah, oleh itu, kita tidak boleh menghantarnya sebagai parameter 'keluar' kepada kaedah.
  • Parameter 'keluar' boleh ditakrifkan menggunakan jenis generik untuk menunjukkan bahawa parameter jenis ialah kovarian. Bersama-sama dengan ini parameter 'keluar' digunakan dalam kaedah TryParse() untuk jenis data yang berbeza dalam C#. Kaedah TryParse() mengembalikan nilai Boolean yang menentukan kejayaan atau kegagalan dan pada kejayaan, hasilnya diberikan oleh parameter 'keluar'.

Contoh #2

Kod:

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main(string[] args)
{
string str = "123456";
int num;
//if ‘canParse’ is true; the result of conversion will be stored in ‘num’
bool canParse = Int32.TryParse(str, out num);
if (canParse)
Console.WriteLine(num);
else
Console.WriteLine("Could not be parsed.");
Console.ReadLine();
}
}
}
Salin selepas log masuk

Output:

Parameter Keluar C#

Contoh Parameter C# Out

Diberikan di bawah adalah contoh Parameter C# Out:

Contoh #1

Contoh menunjukkan berbilang parameter 'keluar' yang dihantar kepada kaedah dan kemudian kaedah itu mengembalikan berbilang nilai.

Kod:

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
//declaring variables without assigning values
float area, perimeter;
//passing multiple variables to a method using 'out' keyword
Calculate(5, 10, out area, out perimeter);
//displaying the result
Console.WriteLine("The area of rectangle is: {0}", area);
Console.WriteLine("The perimeter of rectangle is: {0}", perimeter);
Console.ReadLine();
}
//method taking length & breadth & it will return area and perimeter of rectangle
public static void Calculate(int length, int breadth, out float area, out float
perimeter)
{
area = length * breadth;
perimeter = 2 * (length + breadth);
}
}
}
Salin selepas log masuk

Output:

Parameter Keluar C#

Contoh #2

Contoh yang menunjukkan pengisytiharan sebaris bagi parameter 'keluar'.

Kod:

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
//in-line declaration of variables without assigning values
Calculate(out int length, out int breadth, out float area);
//displaying the values of length, breadth, and area
Console.WriteLine("Length of rectangle: " + length);
Console.WriteLine("Breadth of rectangle: " + breadth);
Console.WriteLine("Area of rectangle: " + area);
Console.ReadLine();
}
//method taking 'out' parameters and it returns multiple values
public static void Calculate(out int l, out int b, out float a)
{
l = 30;
b = 40;
a = l * b;
}
}
}
Salin selepas log masuk

Output:

Parameter Keluar C#

Kesimpulan

Parameter 'keluar' dalam C# membolehkan pengguna menghantar hujah dengan merujuk kepada kaedah. Pembolehubah yang digunakan sebagai parameter 'keluar' tidak perlu dimulakan sebelum ia dihantar kepada kaedah. Kaedah yang dipanggil harus memberikan nilai kepada parameter keluar sebelum ia mengembalikan nilai.

Atas ialah kandungan terperinci Parameter Keluar C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan