c# Action 关键字使用

在C#中,Action是一个委托类型,用于表示不返回值的方法。它可以用于引用指向不带参数的方法的委托。

Action的主要作用包括:

1. 引用方法:Action可以用来引用指向不带参数的方法的委托,使得可以在运行时动态地指定要执行的方法。
   
2. 简化委托调用:Action提供了一种简洁的语法,可以方便地定义和调用不返回值的方法。

3. 用作回调函数:Action经常被用作回调函数的参数,例如在异步编程中,可以使用Action来表示异步操作完成后的回调函数。

4. 作为参数传递:Action可以作为方法的参数传递,用于在方法之间传递委托,以实现更灵活的编程模式。

5. Lambda表达式:Action与Lambda表达式结合使用,可以更加简洁地定义匿名方法。

总之,Action提供了一种灵活和简洁的方式来处理不返回值的方法,并且可以用于各种不同的编程场景中。

在 C# 中,Action 是一个委托类型,用于表示不返回值的方法。它可以用来引用指向不带参数的方法的委托。

以下是 Action 关键字的基本语法和一个简单的示例:

csharp
// 定义一个 Action 委托类型,该委托不带参数并且不返回值
Action action;

// 使用 Action 委托类型创建一个指向方法的引用
action = SayHello;

// 定义一个不带参数的方法,用于被 Action 委托引用
static void SayHello()
{
    Console.WriteLine("Hello, World!");
}

// 调用 Action 委托,将会执行 SayHello 方法
action();


在上面的示例中,我们首先定义了一个 Action 委托类型,然后创建了一个指向 SayHello 方法的 Action 委托。SayHello 方法是一个不带参数的静态方法,用于输出 "Hello, World!"。最后,通过调用 Action 委托来执行 SayHello 方法。

Action 委托还可以带有参数,例如:

csharp
Action<string> actionWithString = PrintMessage;

static void PrintMessage(string message)
{
    Console.WriteLine(message);
}

actionWithString("This is a message.");


在这个示例中,我们定义了一个带有参数的 Action 委托,并创建了一个指向 PrintMessage 方法的引用。PrintMessage 方法带有一个 string 类型的参数,用于输出传入的消息。然后我们调用 Action 委托并传入一个字符串参数,以执行 PrintMessage 方法。
下面是一个简单的示例,演示了如何使用Action和Lambda表达式结合起来:

csharp
using System;

class Program
{
    static void Main(string[] args)
    {
        // 定义一个Action委托,表示不返回值的方法
        Action<string> printMessage = (message) =>
        {
            Console.WriteLine("Hello, " + message);
        };

        // 使用Lambda表达式传递给Action委托
        printMessage("world");
    }
}


在上面的示例中,我们首先定义了一个Action委托`printMessage`,它接受一个字符串参数,并且不返回值。然后,我们使用Lambda表达式`(message) => { Console.WriteLine("Hello, " + message); }`作为参数传递给`printMessage`委托。最后,我们调用`printMessage`委托,并传递一个字符串参数`"world"`,Lambda表达式将会输出"Hello, world"到控制台。
下面是一个演示如何将Action作为方法参数传递的示例:

csharp
using System;

class Program
{
    static void Main(string[] args)
    {
        // 调用方法,传递一个Action委托作为参数
        ProcessData("world", PrintMessage);
    }

    // 定义一个方法,接受一个字符串参数和一个Action委托作为参数
    static void ProcessData(string message, Action<string> action)
    {
        // 调用传递进来的Action委托,传递字符串参数
        action(message);
    }

    // 定义一个方法,用于在Action委托中调用
    static void PrintMessage(string message)
    {
        Console.WriteLine("Hello, " + message);
    }
}


在上面的示例中,我们定义了一个方法ProcessData,它接受一个字符串参数和一个Action委托作为参数。在ProcessData方法内部,我们调用了传递进来的Action委托,并传递了字符串参数。然后,我们在Main方法中调用ProcessData方法,并传递了一个字符串参数"world"和一个方法PrintMessage作为Action委托的参数。当ProcessData方法内部调用Action委托时,将会执行PrintMessage方法,并输出"Hello, world"到控制台。

相关推荐

  1. c# Action 关键字使用

    2024-03-19 12:20:02       20 阅读
  2. const关键字不同使用场景

    2024-03-19 12:20:02       26 阅读
  3. 关键字联合体union的定义和使用

    2024-03-19 12:20:02       29 阅读
  4. C/C++关键字详解-----`const`的使用

    2024-03-19 12:20:02       22 阅读
  5. Kotlin非常用关键字使用记录

    2024-03-19 12:20:02       24 阅读
  6. [前端|vue] !important 关键字使用说明(笔记)

    2024-03-19 12:20:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-19 12:20:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-19 12:20:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-19 12:20:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-19 12:20:02       20 阅读

热门阅读

  1. 华为机试题-最小矩阵

    2024-03-19 12:20:02       17 阅读
  2. SQL注入写shell 单引号被过滤解决思路

    2024-03-19 12:20:02       18 阅读
  3. 【Selenium(三)】

    2024-03-19 12:20:02       21 阅读
  4. 将VSCode添加至右键的菜单栏

    2024-03-19 12:20:02       27 阅读