您的位置:首页 > 编程语言 > C#

C#委托的介绍(delegate、Action、Func、predicate)

2016-06-28 09:10 537 查看
static void Main(string[] args)
{
//Action
TestAction<string>(Action, "Hello");
TestAction<int>(Action, 1000);
TestAction<string>(p => { Console.WriteLine(p); }, "Lamada");

//Func
int result = TestFunc<int, int>((t1, t2) => { return t1 + t2; }, 2, 6);
Console.WriteLine(result);

//predicate
List<int> list = new List<int>() { 1, 2, 3, 4, 5, 6 };
Predicate<int> pre = delegate(int num) { return num > 3; };
list.FindAll(pre).ForEach(n => { Console.WriteLine(n); });
Console.ReadKey();
}

static void TestAction<T>(Action<T> action, T p)
{
action(p);
}
private static void Action(string s)
{
Console.WriteLine(s);
}
private static void Action(int s)
{
Console.WriteLine(s);
}

static int TestFunc<T1, T2>(Func<T1, T2, int> func, T1 t1, T2 t2)
{
return func(t1, t2);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: