C#Action的使用
时间: 2023-11-30 18:42:30 浏览: 37
C#中的Action是一个预定义的委托类型,它没有返回值并且最多可以有16个输入参数。使用Action可以避免手动声明委托类型,使代码更加简洁。下面是Action的使用方法:
1.使用方法一:创建一个Action对象并传入函数名
```csharp
//定义一个函数
public static void SayHello()
{
Console.WriteLine("Hello World!");
}
//创建一个Action对象并传入函数名
Action a = new Action(SayHello);
//调用Action对象
a();
```
2.使用方法二:使用lambda表达式
```csharp
//创建一个Action对象并使用lambda表达式
Action a = new Action(() => Console.WriteLine("Hello World!"));
//调用Action对象
a();
```
注意:lambda表达式中的箭头符号“=>”读作“goes to”,表示将输入参数映射到输出结果。
相关问题
C#action的使用
C#中的Action是一个委托类型,它可以引用一个不返回值的方法。使用Action可以避免定义一个新的委托类型。下面是Action的使用方法:
1.使用方法一:定义一个Action类型的变量,将其初始化为一个方法名:
```csharp
Action a = new Action(方法名);
a(); // 调用方法
```
2.使用方法二:使用lambda表达式:
```csharp
Action a = new Action(() =>
{
// 执行语句
});
a(); // 调用方法
```
注意:lambda表达式中的箭头“=>”读作“goes to”。
c#action(0
C#中的Action是一个系统预定义的委托,用于封装一个没有参数且没有返回值的方法。\[1\]它的定义如下:`public delegate void Action();`\[2\]Action委托可以作为参数传递给方法,而不需要显式声明自定义的委托。封装的方法必须与Action委托定义的方法签名相匹配,即接受一个通过值传递的参数,并且没有返回值。\[3\]根据你的问题,`c#action(0)`是一个错误的语法,因为Action委托不接受任何参数。如果你想使用Action委托,可以直接使用`Action action = () => { // 执行的代码 };`来定义一个没有参数的方法。
#### 引用[.reference_title]
- *1* [C# Action 使用](https://blog.csdn.net/u012395209/article/details/126567950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [C# Action 委托](https://blog.csdn.net/chinaherolts2008/article/details/111423819)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]