你的位置:首页 > ASP.net教程

[ASP.net教程]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页)