首页  >  文章  >  后端开发  >  C# 动作委托

C# 动作委托

WBOY
WBOY原创
2024-09-03 15:31:391018浏览

内置委托属于 System 命名空间下定义的泛型类型。您可以在没有任何返回值的方法中使用它,这意味着它们被称为操作委托。一个动作委托最少可以包含 1 个输入参数,最多可以包含 16 个输入参数,并且这些参数可以具有相同的数据类型或不同的数据类型。在程序中使用操作委托可以使其更加优化和可读。在本主题中,我们将学习 C# Action Delegate。

C# 中 Action Delegate 的语法如下:

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);

input_paramter_type、input_paramter_type1、input_paramter_type2表示输入参数的类型,而argument1和argument2是action delegate封装的方法中使用的参数。

C# 中操作委托的工作

  • 当您需要在不包含任何返回值的方法(即具有 void 返回类型的方法)中使用操作委托时,您将其称为操作委托。
  • 操作委托属于泛型类型,并在系统命名空间内定义。
  • 一个动作委托中可以包含的输入参数的最小数量为 1 个,一个动作委托中可以包含的输入参数的最大数量为 16 个,并且使用的参数类型可以是相同的数据类型或不同的数据类型。
  • 通过在程序中使用动作委托,程序变得更加优化和可读。

示例

以下是下面提到的示例:

示例#1

C# 程序演示 Action Delegate 连接给定字符串并将语句作为输出打印在屏幕上。

代码:

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#");
}
}

输出:

C# 动作委托

上面的程序定义了一个名为“check”的类,并调用一个名为“join”的方法,该方法将传递给它的参数作为输出打印在屏幕上。接下来,main 方法通过定义操作委托来调用“join”函数。然后,程序定义一个带有一个输入参数的操作委托。

示例#2

C# 程序,演示操作委托来计算给定数字的幂。

代码:

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);
}
}

输出:

C# 动作委托

在提供的程序中,我们定义了一个名为“check”的类。该类包含一个名为“power”的方法,该方法计算传递给它的两个给定参数的幂并将结果显示在屏幕上。之后,我们调用 main 方法,其中通过定义操作委托来调用“power”函数。我们还定义了一个接受两个输入参数的操作委托。

示例#3

C# 程序演示一个动作委托来查找给定数字的平方。

代码:

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);
}
}

输出:

C# 动作委托

在上面的程序中,我们定义了一个名为“check”的类。在这个类中,我们定义了一个名为“power”的方法,它接受两个参数作为输入。该方法计算给定数字的幂并将结果显示在屏幕上。接下来,我们调用 main 方法,在其中通过定义操作委托来调用“power”函数。具体来说,我们定义一个接受两个输入参数的操作委托。

结论

在本教程中,我们通过定义了解 C# 中操作委托的概念、操作委托的语法,以及通过编程示例及其输出了解 C# 中操作委托的工作原理。

以上是C# 动作委托的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:C# readonly下一篇:C# Await Async