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 表 ...
随机推荐
- python之selectors
selectors是select模块的包装器,ptython文档建议大部分情况使用selectors而不是直接使用selectors 样例代码如下 # -*- coding: utf-8 -*- __ ...
- Python常用模块之os和sys
1.OS常用方法 os.access(path, mode) # 检验权限模式 os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirn ...
- onblur事件和click事件冲突
在js中onblur事件的优先级click事件,所以同一个元素上绑定两个事件的时候,onblur事件会冲掉click事件. 解决方案:将click事件改成mousedown事件
- display:flex 布局之 骰子
代码部分 html <body> <div class="box"> <div class="a a1"> <span ...
- css3新样式
超出两行变省略号 overflow:hidden; text-overflow:ellipsis;display:-webkit-box; -webkit-box-orient:vertical;-w ...
- PHP 使用程序进行数据库字典文件生成 导出数据库字典
作为一个程序员肯定是不愿意写文档的!!! 尤其最麻烦的数据库字典文档 所以偷懒写了一个PHP程序来进行数据库字典导出 记录一下 以免以后忘记 //使用的是Laravel框架 可以转换成原生导出$ta ...
- jquery easyui alert闪一下的问题
最近做项目使用了 jQuery EasyUI,版本是 1.4.3.x,在使用alert方法的时候如果alert后面执行页面跳转的话alert的消息只会闪一下,就跳到其他页面了 $.messager.a ...
- Delphi 过程类型
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- ubuntu 14.04离线安装docker和docker compose
准备安装包 1.下载docker docker支持以下版本的ubuntu系统Artful 17.10 (Docker CE 17.11 Edge)Zesty 17.04Xenial 16.04 (LT ...
- 网站如何防止sql注入攻击的解决办法
首先我们来了解下什么是SQL注入,SQL注入简单来讲就是将一些非法参数插入到网站数据库中去,执行一些sql命令,比如查询数据库的账号密码,数据库的版本,数据库服务器的IP等等的一些操作,sql注入是目 ...