找传奇、传世资源到传世资源站!

C# delegate、Func、Action 使用示例

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

class Program { private delegate int GetSum(List<Product> list); // First Definition Delegate static void Main(string[] args) { //C# delegate List<Product> list = new List<Product>() { new Product{ProductName="Iphone4s", Price=3000}, new Product{ProductName="Iphone5",Price=4000}, new Product{ProductName="Ipad4",Price=3500} }; GetSum s = GetTotal; Console.WriteLine(s(list)); //C# Func //Method A Func<List<Product>, int> func = GetTotal; Console.WriteLine(func(list)); //Method B Func<List<Product>, int> func1 = delegate(List<Product> listA) { return listA.Sum(p => p.Price); }; Console.WriteLine(func1(list)); //Method C Func<List<Product>,int> func2=listB=>{ return listB.Sum(p => p.Price); }; Console.WriteLine(func2(list)); //C# Action Action<List<Product>> action = listC => { listC.ForEach(p => Console.WriteLine(p.Price)); }; action(list); Console.Read(); } public static int GetTotal(List<Product> list) { return list.Select(p => p.Price).Sum(); } } public class Product { public string ProductName{get;set;} public int Price{get;set;} }

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复