asp.net中linq查本集合中不包含于另一个集合的元素


 代码如下 复制代码
int[] num0 = { 28, 32, 14 };int[] num1 = {14,15,16};

如上,我想把num0中不包含于num1的元素都找出来,其正确结果应该是28,32。早上看到原来linq可以写多个from字句,之后就想到了这样的写法:


 代码如下 复制代码
int[] num0 = { 28, 32, 14 };int[] num1 = {14,15,16};

var qq = from n1 in num0from n2 in num1where n1 != n2select n1;

结果,我错了,调试了一下才知道自己想当然了。结果如下:

总共进行了3 * 3,9次比较,那个语句把所有成立的n1都选进去了。

所以还是老老实实用contains好了


 代码如下 复制代码
int[] num0 = { 28, 32, 14 };int[] num1 = { 14, 15, 16 };

var bb = from n1 in num0        where num1.Contains(n1) == false        select n1;

另外,推荐一个工具:LinqPad,我的这个例子就是用linqPad 调试的,上面那个结果显示使用了语句:qq.Dump();

网址:http://www.linqpad.net/

下载:

      for .net 3.5:http://www.linqpad.net/GetFile.aspx?LINQPad.exe

      for .net 4.0:http://www.linqpad.net/GetFile.aspx?LINQPad4.zip
这个工具还不错,自带了许多例子,还可以写入自己的语句运行。

另外,微软官方的Official Visual Studio 2008 C# Samples里面的LINQ - Sample Queries也是不错的,带了许多例子,几乎所有的linq特性都有,还可以执行。

网址:http://code.msdn.microsoft.com/csharpsamples

LINQ - Sample Queries 截图:

 

2012年1月13日16:56:23 更新:

后来又找到了Except、Intersect、Union、Distinct等方法,终于可以排除一个集合中那些某个属性的值存在于另一个几个中元素属性的方法了。

按照Example上的例子,大概可以如此实现:


 代码如下 复制代码
public void Linq53() {    List<Product> products = GetProductList();    List<Customer> customers = GetCustomerList();

var productFirstChars =        from prod in products        select prod.ProductName[0];    var customerFirstChars =        from cust in customers        select cust.CompanyName[0];

var productOnlyFirstChars = productFirstChars.Except(customerFirstChars);

Console.WriteLine("First letters from Product names, but not from Customer names:");    foreach (var ch in productOnlyFirstChars) {        Console.WriteLine(ch);    }}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索net
, c#
, int
, linq
, 代码
属性
,以便于您获取更多的相关知识。

时间: 2024-10-26 14:21:43

asp.net中linq查本集合中不包含于另一个集合的元素的相关文章

python判断一个集合是否包含了另外一个集合中所有项的方法

  本文实例讲述了python判断一个集合是否包含了另外一个集合中所有项的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 >>> L1 = [1, 2, 3, 3] >>> L2 = [1, 2, 3, 4] >>> set(L1).difference(L2) set([ ]) >>> set(L2).difference(L1) set([4]) 希望本文所述对大家的Python程序设计有所帮助.

listview-从集合中查数据到ListView

问题描述 从集合中查数据到ListView public class Select extends Activity { Button btnjin; EditText Sel; ListView lSel; ArrayAdapter arrayAdapter=null; List list=new ArrayList(); List list2=new ArrayList(); @Override protected void onCreate(Bundle savedInstanceStat

C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法_C#教程

在工作中,如果需要跟XML打交道,难免会遇到需要把一个类型集合转换成XML格式的情况.之前的方法比较笨拙,需要给不同的类型,各自写一个转换的函数.但是后来接触反射后,就知道可以利用反射去读取一个类型的所有成员,也就意味着可以替不同的类型,创建更通用的方法.这个例子是这样做的:利用反射,读取一个类型的所有属性,然后再把属性转换成XML元素的属性或者子元素.下面注释比较完整,就话不多说了,有需要看代码吧! using System; using System.Collections.Generic;

ASP.NET MVC中在路由表routes集合中添加Route实例的问题

昨天有位同学问到关于在routes集合中添加自定义的路由实例的问题,她出现的问题是这样的: 1.因为要在应用程序戾动时将实例添加到routes表中,所以需要把代码写在Global类的RegisterRoutes方法中,代码如下两种方式:    routes.Add("s", new Route("a/b", new WebFormRouteHandler("~/WebForm1.aspx")));    routes.Add("a&qu

asp.net-ASP.NET web项目中GridView选中行样式中如何切换选择按钮的图标?

问题描述 ASP.NET web项目中GridView选中行样式中如何切换选择按钮的图标? 我用的ASP.NET 4.0开发的网站项目,GridView控件中选中行的样式,启用控件自带的选择按钮, 想实现选中一行,该行的选择图标按钮会自动改变图标,如何才能实现动态更换CommandField的SelectImageUrl? 在SelectedRowStyle中指定cssclass可以实现吗?这种前台的样式脚本中,能获取GridView的CommnadField控件对象吗? 如有成功的同行能够解答

ASP.NET Web API Selfhost宿主环境中管道、路由

前言 前面的几个篇幅对Web API中的路由和管道进行了简单的介绍并没有详细的去说明一些什么,然而ASP.NET Web API这个框架由于宿主环境的不同在不同的宿主环境中管道中的实现机制和路由的处理方式有着很大的不同,所以我会将对应不同的宿主环境来分别的做出简单的讲解.  ASP.NET Web API路由.管道     ASP.NET Web API 开篇介绍示例     ASP.NET Web API 路由对象介绍     ASP.NET Web API 管道模型     ASP.NET

ASP与ADO在Web数据库查询中的应用

ado|web|数据|数据库 ---- * 具 体 实 现 ---- 查 询 主 页 面 为 港 澳 证 件 信 息 查 询, 对 应 程 序 为gacx.as p, 查 询 结 果 以 两 种 方 式 显 示, 一 种 是 显 示 主 要 信 息- 港 澳 证 件 信 息 查 询 结 果 列 表, 对 应 程 序 为gacxlb.asp, 一 种 是 显 示 全 部 信 息- 港 澳 证 件 信 息 查 询 结 果, 对 应 程 序 为gacx xq.asp, 如 果 查 询 条 件 不 能

asp.net mvc Partial OutputCache在SpaceBuilder中的应用实践

最近给SpaceBuilder增加OutputCache 时发现了一些问题,贴在这做个备忘,也方便遇到类似问题的朋友查阅. 目前SpaceBuilder 表现层使用是asp.net mvc v1.0,使用了很多RenderAction(关于asp.net mvc的Partial Requests参见Partial Requests in ASP.NET MVC) .希望对于实时性要求不高的内容区域采用客户端缓存来提升性能同时也弥补一下RenderAction对性能的损失. 使用asp.net m

Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中

 package com.ucap.netcheck.dao.impl; import java.util.ArrayList;import java.util.List; import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.springframework.beans.factory.annotation.Autowired;import