using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace demo1_entrust
{
class Program
{
//委托定义一个实例
delegate int AddDel(int a,int b);
static void Main(string[] args)
{
#region 委托
//AddDel del = new AddDel(AddStaticFunc);
//Program p = new Program();
//del += AddStaticFunc;
//int result = del(3, 4);
输出结果(多委托的时候,拿到委托返回值是最后一个指向的执行结果)
//Console.WriteLine(result);
#endregion
#region 泛型委托
//int 代入两个参数
//Func<int,int, int> funcdemo = new Func<int,int, int>(AddStaticFunc);
//int result = funcdemo(3,4);
//Console.WriteLine(result);
#endregion
#region 匿名方法
#region Lambda 语句
//Func<int, int, int> funcDemo = delegate (int a, int b) { return a + b; };
//int result = funcDemo(3, 4);
//Console.WriteLine(result);
#endregion
#region Lambda 表达式
//Func<int, int, int> funcDemo = delegate (int a, int b) { return a + b; };
//int result = funcDemo(3, 4);
//Console.WriteLine(result);
#endregion
#endregion
#region Lambda
//第一种
//Func<int, int, int> funcDemo =
// (int a, int b) => a+b;
//第二种
//Func<int, int, int> funcDemo =
// (a,b) => a + b;
//int result = funcDemo(3, 4);
//Console.WriteLine(result);
#endregion
#region 案例
List<string> strList = new List<string>()
{
"3","9","32","7"
};
/*把字符串小于"6" 查询出来然后打印
*结合拓展方法的使用
* */
var temp= strList.Where(delegate (string a) { return a.CompareTo("6") < 0; });
foreach (var item in temp)
{
Console.WriteLine(item);
}
#endregion
Console.ReadKey();
}
private static int AddStaticFunc(int a, int b)
{
return a + b;
}
}
}