• C# Lambda表达式使用累加器例子


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace LambdaSample
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[] myIntArray = { 1,2, 3, 4, 5 };
                //累加器计算数组总和
                int result = myIntArray.Aggregate((paramA, paramB) => paramA + paramB);
                int result1 = myIntArray.Aggregate<int>((paramA, paramB) => paramA + paramB);
                int result2 = myIntArray.Aggregate<int, int>(0, (paramA, paramB) => paramA + paramB);
                //递归计算数组总和
                int result3 = count(5);
                Console.WriteLine("The Result is: " + result);
                Console.WriteLine("The Result1 is: " + result1);
                Console.WriteLine("The Result2 is: " + result2);
                Console.WriteLine("The Result3 is: " + result3);
    
                string[] myStrArray = { "Admin", "Change", "ByPage" };
                //字符串数组拼接
                string strResult = myStrArray.Aggregate((paramA, paramB) => paramA + " " + paramB);
                //字符串数组字符串总长度计算
                int result4 = myStrArray.Aggregate<string, int>(0, (a, b) => a + b.Length);
                //字符串数组拼接2,增加字符串"Some curries: "
                string strResult1 = myStrArray.Aggregate<string, string>("Some curries: ", (a, b) => a + " " + b);
                //字符串数组字符串总长度计算2
                int result5 = myStrArray.Aggregate<string, string, int>("Some curries: ", (a, b) => a + " " + b, a => a.Length);
                Console.WriteLine("The StrResult is: " + strResult);
                Console.WriteLine("The Result4 is: " + result4);
                Console.WriteLine(strResult1);
                Console.WriteLine("The Result5 is: " + result5);
                Console.ReadKey();
            }
    
            static int count(int n)
            {
                if (n == 1)
                {
                    return 1;
                }
                return n + count(n - 1);
            }
        }
    }

    该例子源代码摘自C#入门经典第5版第14章(387页)

  • 相关阅读:
    初识面向对象
    Git 子模块
    至今为止项目中遇到的问题
    vuex , 简单入(liao)门(jie)
    Git rebase
    Git
    js设计模式工厂模式
    vue slot
    Jquery学习,一道笔试题:关于表格【最近记】
    闭包与this学习
  • 原文地址:https://www.cnblogs.com/qiu2013/p/5144487.html
Copyright © 2020-2023  润新知