LINQ学习(四):From子句

说明:查询表达式必须以 from 子句开头。 另外,查询表达式还可以包含子查询,子查询也是以 from 子句开头。SQL命令中from指的是数据表,LINQ中from 子句中引用的数据源的类型必须为 IEnumerable、IEnumerable<T> 或一种派生类型(如 IQueryable<T>)。

 

1.复合from子句

说明:如果一个数据源里面又包含了一个或多个集合列表,那么应该使用复合的from子句来进行查询。

查询分数小于60分学生的姓名和分数:

        class Student{public string Name { get; set; }public List<int> Scores { get; set; }}static void Main(string[] args){List<Student> students = new List<Student>{new Student {Name="Terry", Scores=new List<int> {97, 72, 81, 60}},new Student {Name="AI", Scores=new List<int> {75, 84, 91, 39}},new Student {Name="Wade", Scores=new List<int> {88, 94, 65, 85}},new Student {Name="Tracy", Scores=new List<int>{97, 89, 85, 82}},new Student {Name="Kobe", Scores=new List<int> {35, 72, 91, 70}} };var query = from student in studentsfrom score in student.Scoreswhere score < 60select new { name = student.Name, score };foreach (var student in query){Console.WriteLine("{0},{1}", student.name, student.score);//AI,39//Kobe,35
            }Console.ReadKey();}

 

2.使用多个 from 子句执行联接

说明:复合 from 子句用于访问单个数据源中的内部集合。 不过,查询还可以包含多个可从独立数据源生成补充查询的 from 子句。

交叉联接:

            char[] char1 = { 'A', 'B', 'C' };char[] char2 = { 'a', 'b', 'c' };var query =from c1 in char1from c2 in char2select new { c1, c2 };Console.WriteLine("交叉联接:");foreach (var result in query){Console.WriteLine("{0}", result);//交叉联接://{ c1 = A, c2 = a }//{ c1 = A, c2 = b }//{ c1 = A, c2 = c }//{ c1 = B, c2 = a }//{ c1 = B, c2 = b }//{ c1 = B, c2 = c }//{ c1 = C, c2 = a }//{ c1 = C, c2 = b }//{ c1 = C, c2 = c }}

 

  

作者: ForEvErNoME
出处: http://www.cnblogs.com/ForEvErNoME/
欢迎转载或分享,但请务必声明文章出处。如果文章对您有帮助,希望你能 推荐关注

转载于:https://www.cnblogs.com/ForEvErNoME/archive/2012/07/24/2605712.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jQuery attr removeAttr 属性操作

jQuery attr removeAttr 属性操作 <% page language"java" import"java.util.*" pageEncoding"UTF-8"%> <%String path request.getContextPath();String basePath request.getScheme() "://" request.getServerName() …

麻省理工学院(MIT)的公开课程

很早之前就听说麻省理工学院把很多课程公开了&#xff0c;今天偶尔搜到这个内容。还不错 http://www.core.org.cn/OcwWeb/index.htm 课程列表 http://www.core.org.cn/OcwWeb/Global/all-courses.htm转载于:https://www.cnblogs.com/chenxizhang/archive/2009/04/27/1444255.ht…

66319d电源使用说明书_矿用防爆交换机如何正确安装调试和使用?

矿用防爆交换机是矿山的通讯核心&#xff0c;它不同于普通交换机&#xff0c;因应用环境的特殊性&#xff0c;在安装以及后续使用过程中有更多要求。在使用过程中&#xff0c;出保障交换机本身的部件无损、性能不受影响外&#xff0c;还要注意使用环境&#xff0c;保证现场安全…

xcode7.1 安装不了Alcatraz怎么办.看这里

按照github上面的安装的方法,但是发现并没有成功.这是为什么呢? 解决的方法是什么呢? 看下面: 这个时候新的问题来了,要怎么获取7.1的UUIDs呢?看下面:   打开你的终端,输入下面的代码就可以了: defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibili…

C#颜色和名称样式对照表【转载】

这篇文章来来源于C# Color Table&#xff0c;这里是我翻译的中文版本&#xff0c;其中已经加上了我的一些理解和注释。翻译这篇文章的原因是我在写C#程序的时候发现&#xff0c;C#自带的颜色种类极多&#xff08;详见下表&#xff09;&#xff0c;如果没有直观的对照关系的话&a…

epub 机器人系列 阿西莫夫_艾萨克·阿西莫夫是不是穿越来的,他怎么能那么准地预言机器人,互联网技术呢?...

机器人&#xff0c;纳米技术&#xff0c;网络图书馆&#xff0c;视频电话&#xff0c;当这些悄悄走进我们的生活&#xff0c;如果有人问你&#xff0c;是什么改变了我们的生活&#xff1f;你可能会回答&#xff0c;当然是科技的发展。如果再问你&#xff0c;这些科技的发展最初…

谈谈Runtime类中的freeMemory,totalMemory,maxMemory几个方法

最近在网上看到一些人讨论到java.lang.Runtime类中的freeMemory(),totalMemory(),maxMemory ()这几个方法的一些问题&#xff0c;很多人感到很疑惑&#xff0c;为什么&#xff0c;在java程序刚刚启动起来的时候freeMemory()这个方法返回的只有一两兆字节&#xff0c;而随着 jav…

关于 lockfree 算法

lockfree的本质是乐观锁。也就是说&#xff0c;它假设多数情况下&#xff0c;别人不会改变。一个通用的lockfree算法可描述如下&#xff1a; lockfree_modify(DataT* data){ for (;;) { Save old state of data to a local variable; do modify; lo…

枚举类enum

一、枚举类 package com.xxx.xf.common.enums;import com.xxx.xf.workday.contant.HolidayContant;/*** Author: wangmq* Version: 1.0* 操作枚举类*/ public enum XfOperateEnum {// 定义多个由构造方法组成的对象&#xff0c;逗号隔开分号为结束XF_OPERATE_SL("SL"…

js怎么调用wasm_Long.js源码解析

基于现在市面上到处都是 Vue/React 之类的源码分析文章实在是太多了。(虽然我也写过 Vite的源码解析所以这次来写点不一样的。由于微信这边用的是 protobuf 来进行 rpc 调用。所以有时候需要将 JS 中的 Number 类型转换为 Long 类型传给后端。目前用的最多的就是 Long.js 了&am…

设置UILabel可变高度(根据文本内容自动适应高度)

property(nonatomic)UILabel *showLabel;// 计算文本所占高度&#xff0c;计算出来之后设置label的高度// 第一个参数&#xff1a;字体大小&#xff0c;字体大小/样式影响计算字体的高度 // 第二个参数&#xff1a;CGSize结构体&#xff0c;结构体中第一个参数表示宽度&#xf…

励志英语谚语【二】

• All things in their being are good for something. • 天生我才必有用。 • Difficult circumstances serve as a textbook of life for people. • 困难坎坷是人们的生活教科书。 • Failure is the mother of success. -- Thomas Paine • 失败乃成功之母。 • For m…

AOP快速入门

一、概念 AOP面向切面编程&#xff0c;是函数式编程的延申&#xff0c;是对OOP的补充&#xff1b; 代理模式&#xff1a;拦截增强作用&#xff0c;增强功能&#xff1b; 1、java继承&#xff0c;纵向共性抽取&#xff0c; 2、横向切面AOP织入增强代码方式 二、原理是通过代理机…

图形大小_PS图形复制——等距复制、旋转复制、大小变换复制

PS中图形复制是很常见的事&#xff0c;可能不同人的习惯可能会用不同的方法。这里糖糖主要讲的是图形的一些等距复制、旋转复制、大小变换旋转复制&#xff0c;相信看过本篇文章之后你也可以通过图形的不同需要的复制做一些很不错的图案哦~糖糖先在PS里用钢笔工具绘制了一个绿叶…

在页面制作过程中需要注意事项

&#xff08;1&#xff09;静态页面.将信息页面和频道、网站首页改成静态页面&#xff0c;有利于搜索引擎更快更好地收录 &#xff08;2&#xff09;页面标题的关键词优化。必须列出信息的标题、网站的名称以及相关关键字 &#xff08;3&#xff09;<meta>标签优化。通过…

python 自动补全

cd ~/.vim/bundle git clone https://github.com/rkulla/pydiction.git cp -r pydiction/after ~/.vim转载于:https://blog.51cto.com/curran/1710868

net命令详解

许多 Windows NT 网络命令以 net 开始。这些 net 命令有一些公共属性&#xff1a; -通过键入 net /? 可查阅所有可用的 net 命令。 -通过键入 net help 命令可在命令行中获得 net 命令的语法帮助。 例如&#xff0c;要得到 net accounts 命令的帮助&#xff0c;请键入 net he…

AOP联盟通知类型和Spring编写代理半自动

一、cglib功能更强大 二、Spring核心jar包 三、AOP联盟通知 三、代码实现Spring半自动代理 1、环绕通知的切面 2、bean.xml配置 3、创建bean容器&#xff0c;获取bean&#xff0c;即已经创建好的代理对象&#xff1a; 4、配置多个接口 转载于:https://www.cnblogs.com/wmqiang/…

1到30图片大全顺序_终于解决了!自媒体作者,如何给 Word 中的图片批量编号?...

今天这个技巧非常有用&#xff0c;特别是对小编这种每天都要写图文教程的人来说&#xff0c;简直是续命神技。如果 Word 中有大量的图片&#xff0c;经常需要个每个图片顺序编号&#xff0c;有没有同款需求&#xff1f;大家平时都一个个手工输入的吗&#xff1f;编到后来很可能…

[状态压缩DP] COJ 1129 送货到家

第一道状态压缩DP&#xff1b; 这道题要求一个无向图的最小权回路&#xff0c;要求经过所有点&#xff0c;所以可以任选一个点&#xff08;这里选0&#xff09;作为起点&#xff0c;以后的状态f[s, i]表示从0出发到i结束的最小权路径&#xff0c;最终求得f[1<<n-1, k]后要…