人本善良

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

匿名委托

Action

系统封装的Action委托,没有参数没有返回值。调用实例为:

class Program
  {
    public delegate void Action();
    static void Main(string[] args)
    {
      Action action = new Action(Method);
      action();
    }
    private static void Method()
    {
      Console.WriteLine("i am is a action");
    }
  }

如果方法的表达很简单,可以使用Lambda表达式,代码如下:

Action action = () => { Console.WriteLine("i am is a action"); };
            action();

Action<T>

系统封装的Action<T>委托,有参数但是没有返回值。调用实例为:

class Program
  {
    public delegate void Action<in T1, in T2>(T1 arg1, T2 arg2);
    static void Main(string[] args)
    {
      Action<int,int> action = new Action<int,int>(Method);
      action(2,3);
    }
    private static void Method(int x,int y)
    {
      Console.WriteLine("i am is a action");
    }
  }

使用Lambda表达式编写Action<T>代码如下:

Action<int, int> action = (x, y) => { Console.WriteLine("i am is a action"); };
            action(2,3);

Fun<T>

系统封装的Fun<T>委托,有参数而且返回值。调用实例为:

class Program
  {
    public delegate TResult Fun<in T1, in T2, out TResult>(T1 arg1, T2 arg2);
    static void Main(string[] args)
    {
      Fun<int, int, bool> fun = new Fun<int, int, bool>(Method);
      bool ret = fun(2,3);
    }
    private static bool Method(int x,int y)
    {
      if (x + y == 5)
      {
        return true;
      }
      else
      {
        return false;
      }
    }
  }

使用Lambda表达式编写Fun<T>,代码如下:

Fun<int, int, bool> fun = (x, y) =>
      {
        if (x + y == 5)
        {
          return true;
        }
        else
        {
          return false;
        }
      };
      bool ret = fun(2,3);

posted on   简简单单2018  阅读(143)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示