流浪のwolf

卷帝

导航

如何理解 .Net 中的 委托

// 委托
// 一种方法的声明和定义,也就是方法的占位符
// 一般使用在 参数 和 属性中
int Add(int a,int b) {
    return a + b;
}
// 定义委托的三种方法 三个内定的委托
// action Func Predicate
// 1. action 定义声明
var action = new Action<int,int>((a,b) => {
    var c = a + b;
    Console.WriteLine(c);
});
//  使用
action(1,5); 
// Func 声明委托   action 是没有返回值的委托 Func 是有返回值的委托
var func = new Func<int,int,int>((a,b) => a + b);  // 最后一个是返回值的类型
var c = func(1,10);
// Predicate 是基于Func的处理 是一个返回 布尔值 的 Func
// Func<int,int,bool> = Predicate<int,int>(); 类似  && Predicate 之只能有一个输入参数&返回Bool
var predicate = new Predicate<int>(x => x % 2 == 0);

// class Calc {
    // public delegate int Add(int a,int b);
// } 

委托就是函数当作变量传递的一种方式

posted on 2024-03-09 17:48  流浪のwolf  阅读(14)  评论(0编辑  收藏  举报