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 = { ,, , , };
//累加器计算数组总和
int result = myIntArray.Aggregate((paramA, paramB) => paramA + paramB);
int result1 = myIntArray.Aggregate<int>((paramA, paramB) => paramA + paramB);
int result2 = myIntArray.Aggregate<int, int>(, (paramA, paramB) => paramA + paramB);
//递归计算数组总和
int result3 = count();
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>(, (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 == )
{
return ;
}
return n + count(n - );
}
}
}
该例子源代码摘自C#入门经典第5版第14章(387页)
C# Lambda表达式使用累加器例子的更多相关文章
- lambda表达式
什么是Lambda表达式 lambda表达式,它将允许我们将行为传到函数里.在Java 8之前,如果想将行为传入函数,仅有的选择就是匿名类,需要6行代码.而定义行为最重要的那行代码,却混在中间不够突出 ...
- C#中的Lambda表达式和表达式树
在C# 2.0中,通过方法组转换和匿名方法,使委托的实现得到了极大的简化.但是,匿名方法仍然有些臃肿,而且当代码中充满了匿名方法的时候,可读性可能就会受到影响.C# 3.0中出现的Lambda表达式在 ...
- Lambda表达式和表达式树
在C# 2.0中,通过方法组转换和匿名方法,使委托的实现得到了极大的简化.但是,匿名方法仍然有些臃肿,而且当代码中充满了匿名方法的时候,可读性可能就会受到影响.C# 3.0中出现的Lambda表达式在 ...
- java 8 中lambda表达式学习
转自 http://blog.csdn.net/renfufei/article/details/24600507 http://www.jdon.com/idea/java/10-example-o ...
- Java中Lambda表达式的使用
简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能.本人建议不要乱用,因 ...
- Java Lambda表达式入门[转]
原文链接: Start Using Java Lambda Expressions http://blog.csdn.net/renfufei/article/details/24600507 下载示 ...
- Java 8 Lambda 表达式(一)
Java 8 新特性 Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性. Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中). 使用 Lambda 表 ...
- Java中Lambda表达式的使用(转)
https://www.cnblogs.com/franson-2016/p/5593080.html 简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖" ...
- JDK1.8新特性-Lambda表达式
Lambda 表达式 Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性. Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中). 使用 Lambda 表 ...
随机推荐
- spring入门(三) 使用spring mvc
1.建立project / module 新建空的project:springMvcStudy 新建module:type maven-webapp,名字mvcStudy 2.为module设置Sou ...
- CALayer层的属性(转)
一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint position: (1)用来设置CALayer在父层中的 ...
- ETO的公开赛T2《宏聚变》 题解(BY 萌萌哒123456 )
我们注意到这道题中最多有 $(n+q)$ 个数被加入,而每个数最多被删除一次,因此每次操作 $O(logn)$的复杂度是可以接受的. 我们对于$1..100000$之间每个数分别开一个set,维护这个 ...
- C++的句柄类
上一篇文件介绍了关于C++代理类的使用场景和实现方法,但是代理类存在一定的缺陷,就是每个代理类会创建一个新的对象,无法避免一些不必要的内存拷贝,本篇文章引入句柄类,在保持代理类多态性的同时,还可以避免 ...
- ABAP术语-BW (Business Information Warehouse)
BW (Business Information Warehouse) 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/14/1037761. ...
- jQuery(三)HTML
获得内容: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值 <html> < ...
- (转载)jsp的内部方法jspInit(),_jspService(),jspDestroy()
jspInit(){}:jsp Page被初始化的时候调用该方法,并且该方法仅在初始化时执行一次,所以可以在这里进行一些初始化的参数配置等一次性工作,由作者创建jspDestroy(){}:jsp P ...
- Spark-源码-Spark-StartAll Master Worler启动流程
Spark start-all>> """Master启动流程""" Master类 class Master( host: S ...
- Hive初识(三)
根据用户的需求创建视图.可以将任何结果集数据保存为一个视图.视图在Hive的用法和SQL视图用法相同.它是一个标准的RDBMS概念.我们可以在视图上执行所有DML操作. 创建一个试图 可以创建一个试图 ...
- html 弹框 优化 alert
<!DOCTYPE html> <html> <head> <title>cs</title> </head> <styl ...