Perwakilan Tindakan C#

WBOY
Lepaskan: 2024-09-03 15:31:39
asal
1043 orang telah melayarinya

Perwakilan terbina dalam tergolong dalam jenis generik yang ditakrifkan di bawah ruang nama Sistem. Anda boleh menggunakannya dalam kaedah yang tidak mempunyai sebarang nilai pulangan, yang bermaksud ia dipanggil perwakilan tindakan. Perwakilan tindakan boleh mengandungi sekurang-kurangnya satu parameter input dan maksimum enam belas parameter input, dan parameter ini boleh mempunyai jenis data yang sama atau jenis data yang berbeza. Menggunakan perwakilan tindakan dalam program anda menjadikannya lebih dioptimumkan dan boleh dibaca. Dalam topik ini, kita akan belajar tentang C# Action Delegate.

Sintaks untuk Perwakilan Tindakan dalam C# adalah seperti berikut:

public delegate void Action < in input_parameter_type > (input_parameter_type   object);
public delegate void Action < in input_parameter_type1, in input_parameter_type2 >( input_parameter_type1 argument1, input_parameter_type2 argument2);
Salin selepas log masuk

input_paramter_type, input_paramter_type1 dan input_paramter_type2 mewakili jenis parameter input, manakala argument1 dan argument2 ialah parameter yang digunakan dalam kaedah yang dirangkumkan oleh perwakilan tindakan.

Kerja Perwakilan Tindakan dalam C#

  • Apabila anda memerlukan perwakilan tindakan untuk digunakan dalam kaedah yang tidak mengandungi sebarang nilai pulangan, iaitu kaedah dengan jenis pulangan tidak sah, anda merujuknya sebagai perwakilan tindakan.
  • Perwakilan tindakan tergolong dalam jenis generik dan ditakrifkan dalam ruang nama Sistem.
  • Bilangan minimum parameter input yang boleh terkandung dalam perwakilan tindakan ialah satu, dan bilangan maksimum parameter input yang boleh terkandung dalam perwakilan tindakan ialah enam belas, dan jenis parameter yang digunakan boleh daripada data yang sama jenis atau jenis data yang berbeza.
  • Dengan menggunakan perwakilan tindakan dalam program, program menjadi lebih dioptimumkan dan boleh dibaca.

Contoh

Berikut ialah contoh berikut yang disebut di bawah :

Contoh #1

Program C# untuk menunjukkan Perwakilan Tindakan untuk menggabungkan rentetan yang diberikan dan mencetak pernyataan sebagai output pada skrin.

Kod:

using System;
//a class called check is defined
class check
{
// a method called join is called which takes the parameter passed to the method and prints it as the output on the screen
public static void join(string str)
{
Console.WriteLine("Welcome to {0}", str);
}
// main method is called within which the join function is called by defining an action delegate
static public void Main()
{
//an action delegate is defined which takes one input parameter which is passed to the join method
Action<string> stringvalue = join;
stringvalue("C#");
}
}
Salin selepas log masuk

Output:

Perwakilan Tindakan C#

Atur cara di atas mentakrifkan kelas yang dipanggil "semak" dan menggunakan kaedah yang dipanggil "bergabung", yang mencetak parameter yang dihantar kepadanya sebagai output pada skrin. Seterusnya, kaedah utama memanggil fungsi "bergabung" dengan mentakrifkan perwakilan tindakan. Program ini kemudiannya mentakrifkan perwakilan tindakan yang mengambil satu parameter input.

Contoh #2

Program C# untuk menunjukkan perwakilan Tindakan untuk mengira kuasa nombor tertentu.

Kod:

using System;
//a class called check is defined
class check
{
// a method called power is defined which takes two parameters passed to the method and calculates the power of the given number and displays it on the screen
public static void power(double number1, double number2)
{
Console.WriteLine("The power of the given number is {0}", Math.Pow(number1, number2));
}
// main method is called within which the power function is called by defining an action delegate
static public void Main()
{
//an action delegate is defined which takes two input parameters which is passed to the power method
Action<double, double> doublevalue = power;
doublevalue(2,2);
}
}
Salin selepas log masuk

Output:

Perwakilan Tindakan C#

Dalam program yang disediakan, kami mentakrifkan kelas bernama "semak". Kelas ini termasuk kaedah bernama "kuasa", yang mengira kuasa dua parameter yang diberikan yang dihantar kepadanya dan memaparkan hasilnya pada skrin. Selepas itu, kami menggunakan kaedah utama, di mana kami memanggil fungsi "kuasa" dengan mentakrifkan perwakilan tindakan. Kami juga mentakrifkan perwakilan tindakan yang menerima dua parameter input.

Contoh #3

Program C# untuk menunjukkan perwakilan tindakan untuk mencari kuasa dua nombor yang diberikan.

Kod:

using System;
//a class called check is defined
class check
{
// a method called power is defined which takes two parameters passed to the method and calculates the power of the given number and displays it on the screen
public static void square(int number)
{
Console.WriteLine("The square of the given number is {0}", number * number);
}
// main method is called within which the power function is called by defining an action delegate
static public void Main()
{
//an action delegate is defined which takes one input parameter which is passed to the square method
Action<int> answer = square;
answer(3);
}
}
Salin selepas log masuk

Output:

Perwakilan Tindakan C#

Dalam program di atas, kami mentakrifkan kelas yang dipanggil "semak." Dalam kelas ini, kami mentakrifkan kaedah bernama "kuasa" yang mengambil dua parameter sebagai input. Kaedah ini mengira kuasa nombor yang diberikan dan memaparkan hasilnya pada skrin. Selepas itu, kami menggunakan kaedah utama, di mana kami memanggil fungsi "kuasa" dengan mentakrifkan perwakilan tindakan. Secara khusus, kami mentakrifkan perwakilan tindakan yang menerima dua parameter input.

Kesimpulan

Dalam tutorial ini, kami memahami konsep perwakilan tindakan dalam C# melalui definisi, sintaks perwakilan tindakan dan kerja perwakilan tindakan dalam C# melalui contoh pengaturcaraan dan outputnya.

Atas ialah kandungan terperinci Perwakilan Tindakan 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