文档章节

关于如何对两个 集合的数值进行比较

梦游先生
 梦游先生
发布于 2014/11/17 21:46
字数 560
阅读 551
收藏 3

        又到水的时间了,-。-  先讲下今天 在工作上遇到一个的问题吧! 其实相对的来说很简单 就是如同标题一样,因为我是在用Linq写,所以卡了下 顺便百度了下,首先假设 有一张学生表 和 课程表, 一个学生能选多个课程 所以在这里学生和课程表 是一对多的,而我现在 选择了 信息 数学 历史 这3门课程 去查没有选择过这三门课程的学生

以下 是代码:

              var sc = from s in Entites.Students    
                  select new 
                 {
                  s.Course
                 };
             

              List<int> course = new list<int>
                        {
                          1,
                         2,
                        3,

                        };
         
         sc = sc.Where(n=> course.Contaic(n.Course));

 上面代码的写法是有误,也是我最初的想法,我想将两个List里的值去进行比较取反 从而得到我想要的效果,当然对Linq掌握的很糟糕的我发现Contaic(这里单词估计打错了) 它里面接受的是一个(int item)也就是说它并不适合去进行一个集合直接的比较,然后我通过Linq里的Intersect() 这个,发现提示 参数无效,于是我转换思路了 因为我已经在这里花了半个小时的时间了,

第二种写法:

    var sc = from s in Entites.Students
             from c in s.Course
            selec s;
     List<int> course = new list<int>
                        {
                          1,
                          2,
                          3,

                        };
         
         sc = sc.Where(n=> !course.Contaic(n.Course.type));

 这种写法 势必会造成查出很多重复的数据,后面你必须不得不对它进行一个去重的步骤,不过想要的效果出现了, 其实我最早的是想法 是将两个集合都去进行一个遍历比较的 这样就会有两次遍历 但发现不是很好(主要还是自己不会写) 所以想偷一下懒 择中一下,当然 我发现实际效果不是很理想 不知道是不是因为前面太多的查询导致的,这个 到时由大神去优化吧! 其实当我们卡在一个功能实现的时候,不如换个思路,我一直很喜欢一句话“换个角度,看世界”。好了,这次就水这么多啦。

© 著作权归作者所有

梦游先生
粉丝 0
博文 10
码字总数 5647
作品 0
广州
程序员
私信 提问
内置函数sorted的10个小tips

用于对集合进行排序(这里说的集合是对可迭代对象的一个统称,他们可以是列表、字典、set、甚至是字符串),它的功能非常强大,本文将深入浅出地介绍 sorted 的各种使用场景。 1、默认排序 ...

刘志军
2018/11/27
0
0
String 类

表示文本,即一系列 Unicode 字符。 命名空间:System 程序集:mscorlib(在 mscorlib.dll 中) 语法 C# [SerializableAttribute] [ComVisibleAttribute(true)] public sealed class String : ......

zray4u
2016/07/14
10
0
== 和equals()和hashcode()区别与联系

一:==和equals()比较 值类型是存储在内存中的栈,而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。 ==操作比较的是两个变量的值是否相等,对于引用型变量表示的...

洋哥6
2016/10/31
38
0
python浓缩(7)映射和集合类型

讨论Python 语言中的映射类型和集合类型 首先做一个介绍; 可用操作符,工厂函数、内建函数(BIF)和方法; 每种数据类型的详细用法; 7.1 映射类型:字典 字典是Python 语言中唯一的映射类型。...

人生如梦19
2016/04/11
113
2
描述统计学之R语言实战2:图形法

上篇《描述统计学之R语言实战1:表格法》主要介绍了如何用R语言实现单变量数据、两个变量数据的表格统计法,本篇将介绍如何使用R语言对单变量数据、两个变量数据进行图形化显示。 单变量的数...

乌贼寿司67
03/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
14
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部