• 初学 Lambda 表达式


    Lambda 表达式是个神奇的东东,惭愧自己用了这么久 C# 其实还只是个初学者,对 Lambda 认识很模糊。

    网络上的有些例子,不过绝大部分都是转载自同一篇,而且有些还是个有问题的例子,无法编译通过,所以我重新改写了一下,记录一下编译通过的版本,算是我迈出学习 Lambda 的第一步。

    例子一、查找数组中的元素:

    List<string> list = new List<string>();
    list.Add("abc");
    list.Add("xyz");
    list.Add("1,2");

    string str = list.FindAll(s => s.IndexOf(',') > -1)[0]; //这里返回的是数组,而不是其中元素
    Response.Write(str);

    例子二、查找数组中的元素:

    string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
    var shortDigits = digits.Where((digit, index) => digit.Length < index); //基本例子一
    foreach (var shortDigit in shortDigits) {
        Response.Write(" " + shortDigit);
    }

    例子三、定义代理:

    delegate int DemoDelegate(int i);

    private void Demo()
    {
        DemoDelegate myDel = x => x * x; //直接定义委托的实际执行方式,并自动返回了结果
        Response.Write( myDel(5) );
    }

    例子四、定义代理:

    delegate void DemoDelegate(string s);

    private void VoidDemo()
    {

        // 同上面差不多,只是没有返回值。
        DemoDelegate myDel = n => { string s = n + " " + "World"; Response.Write(s); };
        myDel("Hello");
    }

  • 相关阅读:
    Vue--爬坑
    小程序--爬坑
    同源策略
    如何更改placeholder属性中文字颜色
    vue 项目上传到码云,push时error: failed to push some refs to 'https://gitee.com/mawenrou/vue_ht.git'
    node服务端口被占用
    webpack配置自动打包重新运行npm run dev出现报错
    解决回调地狱
    Apache Spark
    RAM computer
  • 原文地址:https://www.cnblogs.com/islee/p/1784663.html
Copyright © 2020-2023  润新知