扩展方法是我们日常开发当中所经常简化代码,提高性能和代码可读性的一个重要开发手段。
扩展方法是一个只能在静态类中声明的静态方法
Lambda 是一个表达式 ,学会了 可以使代码简洁,也是装13的利器。
还是上实例代码:
class Program { static void Main(string[] args) { List<Product> list = new List<Product>() { new Product{ProductName="Iphone4s", Price=3000}, new Product{ProductName="Iphone5",Price=4000}, new Product{ProductName="Ipad4",Price=3500} }; //Calcualte the total Price int Sum = 0; //Method One Interation foreach (Product p in list) { Sum = p.Price + Sum; } Console.WriteLine(Sum); //Method Two Lambda Sum = list.Sum(p => p.Price); Console.WriteLine(Sum); //Method Three ExtensionMethod Sum = list.Getsum(); Console.WriteLine(Sum); Console.Read(); } } public class Product { public string ProductName { get; set; } public int Price { get; set; } } public static class MyExtensionMethods { public static int Getsum(this List<Product> product) { return product.Sum(p => p.Price); } }
这上面有三个操作方法,你一般常用那个呢! 是不是lambda 和 Extension 是不是更比较直观易懂!