zoukankan      html  css  js  c++  java
  • 理解Linq和lambda

    ******************理解Linq和lambda***********************
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace LinqYL
    {
        public delegate bool Func2<T>(T t);
        public static class Enumerable
        {
            public static IEnumerable<T> Where2<T>(this IEnumerable<T> source, Func2<T> predicate)
            {
                foreach (T item in source)
                    if (predicate(item))
                        yield return item;
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                string[] names = { "Burke", "Connor", "Frank","Everett", "Albert", "George","Harris", "David" };

                //.net framework2.0以前委托实例化形式(new方式)
                //Func2<string> test = new Func2<string>(test2);
                //IEnumerable<string> query = names.Where2(test).Select(s => s.ToUpper());

                //.net framework2.0委托实例化形式(匿名方法方式)
                Func2<string> test = delegate(string s) { return s.Length == 5; };
                IEnumerable<string> query = names.Where2(test).Select(s => s.ToUpper());

                //.net framework3.0委托实例化形式(lambda 表达方式)
                //IEnumerable<string> query = names.Where2(s=>s.Length == 5).Select(s => s.ToUpper());

                foreach (string item in query)
                    Console.WriteLine(item);
            }
            public static bool test2(string s)
            {
                return s.Length == 5;
            }
        }
    }



    走进Linq-Linq to SQL How do I
    ******************理解Linq和lambda***********************


    ******************理解泛型*************************
    由此我们可以看出为了是泛型能够工作,MS必须做一下的工作:
    创建新的IL指令,使之能够识别类型参数。
    修改现有的元数据表的格式。
    修改各种编程语言使他们能支持泛型。
    修改编译器,能生成新的IL和元数据。
    修改JIT编译器。
    ******************理解泛型*************************


  • 相关阅读:
    day03
    day02
    day01
    springBoot相关(二)
    predis操作redis方法大全
    按钮变色变色变色
    mysql中获取一天、一周、一月时间数据的各种sql语句写
    wordpress速度慢
    html关于强制显示、隐藏浏览器的滚动条
    css全局样式表
  • 原文地址:https://www.cnblogs.com/syf/p/2764050.html
Copyright © 2011-2022 走看看