相关:https://www.cnblogs.com/zhaopei/p/5746414.html

using System;
using System.Collections.Generic;
using System.Linq;

namespace LinqTest
{
    public class Person
    {
        public int Id { get; set; }

public string Name { get; set; }

public int Age { get; set; }

public string Sex { get; set; }

public string Height { get; set; }

public string Weight { get; set; }
    }
    class Program
    {
        static List<Person> GetPersons()
        {
            var persons = new List<Person>
            {
                new Person{ Id=1,Name="henry1",Age=1,Sex="B",Height="11",Weight="111"},
                new Person{ Id=2,Name="henry2",Age=2,Sex="B",Height="22",Weight="222"},
                new Person{ Id=3,Name="henry3",Age=3,Sex="B",Height="33",Weight="333"},
                new Person{ Id=4,Name="henry4",Age=4,Sex="B",Height="44",Weight="444"},
                new Person{ Id=5,Name="henry5",Age=5,Sex="G",Height="55",Weight="555"},
                new Person{ Id=6,Name="henry6",Age=6,Sex="G",Height="66",Weight="666"},
                new Person{ Id=7,Name="henry7",Age=7,Sex="G",Height="77",Weight="777"},
                new Person{ Id=8,Name="henry8",Age=8,Sex="G",Height="88",Weight="888"},
            };

return persons;
        }
 
        static void Main(string[] args)
        {
            var persons = GetPersons();
            //linq查询表达式
            var test1 = from per in persons
                        where per.Age > 3
                        select per;
            foreach (var item in test1)
            {
                //test1列表含有Person类的所有字段
                Console.WriteLine("test1--"+item.Name + "--" + item.Age + "--" + item.Weight);
            }
            Console.WriteLine();

//点标记,lambda
            var test3 = persons.Where(p => p.Age > 3).ToList();
            foreach (var item in test3)
            {
                //test3列表含有Person类的所有字段
                Console.WriteLine("test3--"+item.Name + "--" + item.Age + "--" + item.Weight);
            }
            Console.WriteLine();

//linq查询表达式
            var test2 = from per in persons
                        where int.Parse(per.Weight) > 300
                        orderby per.Age
                        select new { per.Age, per.Name, per.Sex };
            foreach (var item in test2)
            {
                //test2列表只有Age Name Sex三个字段
                Console.WriteLine("test2--"+item.Name + "--" + item.Age + "--" + item.Sex);
            }
            Console.WriteLine();
            
            //点标记(Lambda) 
            var test4 = persons.Where(e => int.Parse(e.Weight) > 300)
                                .OrderBy(e => e.Age)
                                .Select(p => new { p.Age, p.Name, p.Sex })//匿名类
                                .ToList();
            foreach (var item in test4)
            {
                //test4列表只有Age Name Sex三个字段
                Console.WriteLine("test4--"+item.Name + "--" + item.Age + "--" + item.Sex);
            }
            Console.WriteLine();

//很多情况下linq和lambda可以相互装转换,以上就是
            //下面这种情况只能使用lambda
            var test5 = persons
                      .Where((p,index) => p.Age > 3 && index%2==0)
                      .Select((p,index)=>new { p,index})
                      .Reverse()//反序
                      .ToList();
            //test5.Distinct().ToList();//去重
            //test5.Except(testn).ToList();//差集
            //test5.Union(testn).ToList();//并集
            //test5.Intersect(testn).ToList();//交集
            foreach (var item in test5)
            {
                Console.WriteLine("test5--"+item.index + "--" + item.p.Id + "--" + item.p.Name + "--" + item.p.Weight);
            }
            Console.WriteLine();

Console.ReadLine();
        }
    }
}

lambda和linq对比相关推荐

  1. 第十二节:Lambda、linq、SQL的相爱相杀(1)

    一. 谈情怀  Lambda.Linq.SQL伴随着我的开发一年又一年,但它们三者并没有此消彼长,各自占有这一定的比重,起着不可替代的作用. 相信我们最先接触的应该就是SQL了,凡是科班出身的人,大学 ...

  2. 简单测试lambda和linq查找的性能

    在List泛型中查找一个值(唯一),究竟用哪种方法快点呢.for循环.foreach迭代器.Lambda表达式.Linq语句. 简单的写了一个程序测试一下.思路:构造一个有26843545个int元素 ...

  3. C#基础--Lambda和LINQ

    C#基础–Lambda 和 LINQ 一.Lambda 的前世今生 在.NetFramewok的不同版本都有不同的样子:在.NetCore下也都是支持的: 1.1 .Netframework1.0/1 ...

  4. 《C# 语言入门详解(刘铁锰) - 学习笔记 - Lambda表达 / Linq查询》

    Lambda表达 / LINQ查询 文章目录 Lambda表达 / LINQ查询 前言 一.Lambda表达式 二.LINQ查询 前言 Lambda表达式: 匿名方法.inline(内联)方法.(简化 ...

  5. Linq表达式和Lambda表达式用法对比

    什么是Linq表达式?什么是Lambda表达式? 前一段时间用到这个只是,在网上也没找到比较简单明了的方法,今天就整理了一下相关知识,有空了再仔细研究研究 public Program() { Lis ...

  6. 第十四节:Lambda、linq、SQL的相爱相杀(3)

    一. SQL 开篇 1. where用法 1 #region 封装EF调用SQL语句查询 2 public static List<T> ExecuteQuery<T>(str ...

  7. 第十三节:Lambda、linq、SQL的相爱相杀(2)

    一. Linq开篇 1.Where用法 linq中where的用法与SQL中where的用法基本一致. 1 #region 01-where用法2 {3 //1. where用法4 //1.1 查询账 ...

  8. 一篇文章搞懂数据仓库:数据仓库架构-Lambda和Kappa对比

    在介绍Lambda和Kappa架构之前,我们先回顾一下数据仓库的发展历程: 传送门-数据仓库发展历程 写在前面 咳,随着数据量的暴增和数据实时性要求越来越高,以及大数据技术的发展驱动企业不断升级迭代, ...

  9. 理解lambda在linq中的应用

    LinQ是必须学好的一种查询语言,不得不佩服微软的贡献.现阶段要学好Linq必须了解lambda,关于lambda本身,朋友可以找些资料自己看看,我这只是讲下他的本质. lambda本质上是一个委托, ...

最新文章

  1. Flutter之Dart入门
  2. 计算机函数的实验报告,excel函数实验报告.doc
  3. 【转】设计模式 ( 十七) 状态模式State(对象行为型)
  4. java jinternalpanel_java swing中JPanel的布局问题
  5. 前端 JavaScript 中 JSON.stringify() 的基本用法
  6. (转)程序员如何快速准备面试中的算法
  7. H5做linux界面开发,如何利用HTML5打造桌面应用?
  8. cocos2d笔记 (3)cocos2d四个基本概念
  9. JAVA语言程序设计课后习题----第五单元解析(仅供参考)
  10. 在AD中安装元件和封装库
  11. 支付系统中,账户体系的设计与记账处理
  12. FlinkX配置文件解析
  13. css里的英文翻译,css常见英文翻译
  14. 测角误差估计算法matlab,Harris角点检测 及 Matlab实验
  15. 注解-Annotation
  16. 看了下李航的《统计学习方法》
  17. matlab程序作分形蕨,matlab学习第一天笔记
  18. linux 中.a和.so的区别
  19. IC芯片设计项目管理002:标准化流程的应用
  20. 自己做的Google地图下载工具(一)

热门文章

  1. Starting Tomcat v9.0 Server at localhost` has encountered a problem解决办法
  2. (下)苹果有开源,但又怎样呢?
  3. Vue(四)——使用脚手架(1)
  4. 保研日记--北京交通大学计算机学院
  5. VC++ .net 串口操作(简单的上位机串口操作)
  6. 远程工作一周,你的效率怎样?
  7. rm命令在删除文件时排除指定文件
  8. python关键字evaluate_python – Keras中的model.evaluate()返回了什么值?
  9. 东华大学Linux实验一
  10. JIRA扩展定制入门知识分享,附Github代码库