LINQ基础之Intersect、Except和Distinct子句

 更新时间:2022年04月20日 10:57:18   作者:農碼一生  
这篇文章介绍了LINQ使用Intersect、Except和Distinct子句的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Intersect子句

一、简介

Intersect返回交集,交集是指同时出现在两个集合中的元素,和数据库中的Intersect方法实现功能一样。

二、案例

var q =  (from c in db.Customers            
          select c.Age         
         ).Intersect(             
                    from e in db.Employees             
                    select e.Age
         );

Except子句

一、简介

Except返回差集,差集是指位于一个集合但不位于另一个集合的元素。Except是把第一个集合里面的数据 去掉在第二个集合里面出现过的数据。

二、案例

案例一:

var q = (from c in db.Customers    
        select c.Name
        ).Except(from e in db.Employees     
                 select e.Name
 );

案例二:

//1 2 这两条记录

var q1 = from s in db.Student
      where s.ID < 3
      select s;

 //1 2 3 4 这四条记录
var q2 = from s in db.Student
      where s.ID < 5
      select s;

var r = q1.Except(q2).ToList();// 空
var r2 = q2.Except(q1).ToList();//3 4

Distinct子句

一、简介

Distinct返回的序列包含输入序列的唯一元素,该语句是单个集合操作。

二、案例

List<int> list = new List<int>() {1,2,3,3,3};
var result = list.Distinct();

Result的结果为:{1,2,3}

到此这篇关于LINQ使用Intersect、Except和Distinct子句的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 深入了解c#多线程编程

    深入了解c#多线程编程

    这篇文章主要介绍了c#多线程编程的相关资料,文中讲解非常细致,帮助大家更好的理解和学习c# 多线程,感兴趣的朋友可以了解下
    2020-08-08
  • C# 设计模式系列教程-策略模式

    C# 设计模式系列教程-策略模式

    策略模式是一种定义一系列算法的方法,从概念上来看,所有算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。
    2016-06-06
  • c# 类型构造器

    c# 类型构造器

    CLR还支持类型构造器,也称为静态构造器。c#类型构造器可应用引用类型和值类型,永远没有参数
    2012-10-10
  • C# SerialPort实现串口通讯的代码详解

    C# SerialPort实现串口通讯的代码详解

    在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports,这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信,本文给大家介绍了C# SerialPort实现串口通讯,需要的朋友可以参考下
    2024-06-06
  • C#难点逐个击破(2):out返回参数

    C#难点逐个击破(2):out返回参数

    之前提到ref是将原方法中的参数影响的结果返回到调用它的方法中,out与ref类似,相比之下,ref传递参数的地址,out是返回值。
    2010-02-02
  • C#中Kestrel和IIS服务器下的同步与异步配置

    C#中Kestrel和IIS服务器下的同步与异步配置

    本篇文章主要讲解什么是Kestrel和IIS服务器和特点,以及他们如何配置同步与异步,具有一定的参加价值,感兴趣的可以了解一下
    2023-08-08
  • C#实现炫酷启动图-动态进度条效果

    C#实现炫酷启动图-动态进度条效果

    这篇文章主要介绍了基于C#实现炫酷启动图-动态进度条 效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • C#实现修改系统时间的方法

    C#实现修改系统时间的方法

    这篇文章主要介绍了C#实现修改系统时间的方法,是一个非常实用的功能,需要的朋友可以参考下
    2014-07-07
  • C#实现功能强大的中国农历日历操作类

    C#实现功能强大的中国农历日历操作类

    这篇文章主要介绍了C#实现功能强大的中国农历日历操作类,实例分析了C#操作时间及字符串的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • 基于C# 实现刘谦春晚魔术(示例代码)

    基于C# 实现刘谦春晚魔术(示例代码)

    刘谦春晚魔术是一个让人叹为观止的魔术表演,其中涉及到了数学、编程和创意的结合,看了春晚魔术的朋友们,是不是好奇春晚刘谦的魔术是怎么变的,本文分享C# 实现刘谦春晚魔术示例代码,一起看看吧
    2024-02-02

最新评论