zoukankan      html  css  js  c++  java
  • 扩展方法和Lambda之练习手记

    扩展方法是我们日常开发当中所经常简化代码,提高性能和代码可读性的一个重要开发手段。

    扩展方法是一个只能在静态类中声明的静态方法

    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 是不是更比较直观易懂!

  • 相关阅读:
    关于c#中的委托和事件
    Unity3d中默认函数调用顺序(MonoBehaviour)
    u3d 摄像机详解
    u3d中的坐标系
    u3d中的向量 vector3 vector2
    u3d中的INput
    C#构造函数
    解析C#中[],List,Array,ArrayList的区别及应用
    Mybatis(七) mybatis的逆向工程的配置详解
    Mybatis(六) Spring整合mybatis
  • 原文地址:https://www.cnblogs.com/flyfish2012/p/3234386.html
Copyright © 2011-2022 走看看