最近看了一些博客,对委托和匿名函数和Lambda的方式有了一些更深的理解,在前人的基础上。我也写3个例子

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace LamdbaPricticeMine
{
class Program
{
delegate bool FilterDelegate(int num); static void Main(string[] args)
{
List<int> listNumbs = new List<int>();
// 初始化listNumbs
listNumbs.AddRange(new int[]{,,,,,}); // 1、委托
Console.WriteLine("用委托的方式输出符合要求的数");
PrintNumByDelegate(listNumbs); // 2、匿名方法
Console.WriteLine("用匿名函数的方式输出符合要求的数");
PrintNumByDelegate(listNumbs); // 3、Lambda表达式
Console.WriteLine("用Lambda的方式输出符合要求的数");
PrintNumByLambdaExpression(listNumbs);
Console.ReadLine();
} #region 用委托实现两个数相加 // 调用将委托作为参数的方法,并将实现的方法当做参数
static void PrintNumByDelegate(List<int> listNums)
{
PrintNumByDelegate(listNums, FilterDelegateEven);
}
// 定义一个将委托作为参数的方法
static void PrintNumByDelegate(List<int> listNumbs, FilterDelegate selectNums)
{
foreach (int item in listNumbs)
{
if (selectNums(item))
{
Console.WriteLine(item);
}
}
}
// 定义一个类似于委托的实现(偶数)
static bool FilterDelegateEven(int num)
{
return num % == ;
}
// 定义第二个委托的实现(基数)
static bool FilterDelegateOdd(int num)
{
return num % == ;
}
#endregion #region 匿名函数
static void PrintNumByAnonymousMethod(List<int> listNums)
{
listNums.FindAll(
delegate(int num)
{
if (num % == )
{
Console.WriteLine(num);
return true;
}
else
{
return false;
}
}
); }
#endregion #region 用Lambda的方式
static void PrintNumByLambdaExpression(List<int> listNums)
{
listNums.FindAll((int num) =>
{
if (num % == )
{
Console.WriteLine(num); return true;
}
else
{
return false;
}
});
}
#endregion }
}

用委托、匿名函数、Lambda的方式输出符合要求的数的更多相关文章

  1. (28)C#委托,匿名函数,lambda表达式,事件

    一.委托 委托是一种用于封装命名和匿名方法的引用类型. 把方法当参数,传给另一个方法(这么说好理解,但实际上方法不能当参数,传入的是委托类型),委托是一种引用类型,委托里包含很多方法的引用 创建的方法 ...

  2. python tips:匿名函数lambda

    lambda用于创建匿名函数,下面两种函数定义方式等价. f = lambda x: x + 2 def f(x): return x + 2 立刻执行的匿名函数 (lambda x: print(x ...

  3. 【Unity|C#】基础篇(9)——匿名函数 / Lambda表达式

    [学习资料] <C#图解教程>(第13章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu. ...

  4. python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))

    1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...

  5. python的匿名函数lambda解释及用法

    lambda函数的语法只包含一个语句,如下:    lambda arg1,arg2,.....argn:expression(主要是看下面的例子)代码示例: #-*- coding:utf-8 -* ...

  6. Python中的匿名函数lambda的用法

    一.lambda函数的简介  对lambda函数,它其实是一个类似于def的函数,只不过lambda是一个不需要定义函数名的匿名函数.当我们在有些时候,需要做一些简单的数学计算时,如果定义一个def函 ...

  7. 『Python基础-14』匿名函数 `lambda`

    匿名函数和关键字lambda 匿名函数就是没有名称的函数,也就是不再使用def语句定义的函数 在Python中,如果要声匿名函数,则需要使用lambda关键字 使用lambda声明的匿名函数能接收任何 ...

  8. 匿名函数(lambda)在列表生成式和生成器中的应用示例

    匿名函数(lambda)在列表生成式和生成器中的应用示例 列表生成式中实例 先看题: 以下代码的输出是什么?请给出答案并解释: def func(): return [lambda x: x * i ...

  9. python3 速查参考- python基础 6 -> 函数编程之参数、变量、作用域、递归、匿名函数 lambda

    函数基础 1. 速查笔记 #-- 函数相关的语句和表达式 myfunc('spam') # 函数调用 def myfunc(): # 函数定义 return None # 函数返回值 global a ...

随机推荐

  1. 基于Http原理实现Android的图片上传和表单提交

    版权声明:本文由张坤  原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/794875001483009140 来源:腾云阁  ...

  2. Unity GUI TextField不能输入文字

    最近在弄Unity的GUI. 也算是好久不用了,有点不熟悉了. 用TextField的时候发现GUI是出来了不过不能输入文字 到网上查了一下说要用一个public的string来接收 我看了我的代码 ...

  3. Dr.Watson使用技巧摘要

    Dr.Watson使用技巧摘要 For Win98/WinME the executable is DRWATSON.EXEFor WinNT/Win2000/WinXP the executable ...

  4. 工控主板对ISO7816智能卡标准的支持

    ISO7816是一套协议标准,这套协议不仅规定了智能IC卡的机械电气特性,而且还规定了智能IC卡的应用方法.智能IC卡的主要用途可归为身份识别.支付安全.加密/解密和信息存储四个方面.智能IC卡已经广 ...

  5. STARTUP.A51详解及如何使能可重入函数

    $NOMOD51       ;Ax51宏汇编器控制命令:禁止预定义的8051;------------------------------------------------------------ ...

  6. Window Ghosting(仍可拖动失去响应的窗口,因为我们真正的窗口已经让系统用Ghosting窗口替代了。使用IsHungAppWindow 探测)

    最近工作中遇到Window Ghosting这个问题, 感觉挺有意思,这里简单记录下.     在XP时代我们的程序没有响应后只能通过任务管理器强制杀掉,但是Vista之后情况变了, 我们仍然可以拖动 ...

  7. Row Cache Objects

    This latch comes into play when user processes are attempting to access or update the cached data di ...

  8. 简单拨号器(Android)

    感受: 1.了解了intent中的action和Uri. 2.了解了向下一个活动传递数据. 3.了解了内容提供器. 4.了解自定义适配器. 4.其实T9拨号器和简单计算器原理一样.

  9. sqlite3 C API编程

    1,创建测试数据库,表;

  10. js 获取input file路径改变图像地址

    html代码 <img id="newImage" alt="100x100" src="__PUBLIC__/img/1.jpg" ...