1. Group子句

  LINQ表达式必须以from子句开头,以select或Group子句结束,所以除了使用select子句也可以使用Group子句来返回元素分组后的结果。Group子句用来查询结果分组,并返回一对象序列。这些对象包含零个或多个与该组的key值匹配的项。

  注意:每个分组都不是单个元素,而是一个序列(也属于集合)。序列的元素类型为IGroup<TKey,Telement>(必须以Group子句结束的LINQ表达式,分组结果类型才为序列,序列的元素类型为IGroup<TKey,TElement>

 static void Main(string[] args)
{
//数据源
List<Custom> my = new List<Custom>()
{
new Custom() { name="上官杜伟",Age=,Table=new List<string>() { "",""} },
new Custom() { name="上官王玥",Age=,Table=new List<string>() { "",""} },
new Custom() { name="黄埔杜伟",Age=,Table=new List<string>() { "",""} },
new Custom() { name="黄埔王玥",Age=,Table=new List<string>() { "",""} }
};
//创建LINQ查询
var query = from a in my
//安装名字的前两个字进行分组
group a by a.name.Substring(,); //输出语句
foreach (var item in query)
{
Console.WriteLine("分组键:{0}",item.Key); }
Console.WriteLine("**********************************"); Console.ReadKey();
}

2.Into子句

  into子句可以用来创建一个临时标识符,将group、join或select子句的结果存储到这个标识符中。

  static void Main(string[] args)
{
int[] arr = new int[] { , , , , , , , , , }; var q = from n in arr
where n > && n<
group n by n % into g //把N%2为分组 存进标识符g中,输出g
from sn in g
select sn; foreach (var item in q)
{
Console.WriteLine(item);
}
Console.ReadKey();

实例2

  

            //数据源
string[] arr = {"杜伟","王玥","于海燕","高冬梅" }; //创建查询语句
var query = from a in arr
group a by a.Substring(,) into f
//根据条件输出分组后的结果
from b in f
select b;
//输出结果
foreach (var item in query)
{
Console.WriteLine(item);
}
Console.ReadKey();

3.OrderBy子句(中间无空格)

  orderby 子句可使返回的查询结果按升序或降序排序。升序关键字Ascending指定,而降序有关键字Descending指定。

示例1.

  

static void Main(string[] args)
{ //数据源
int[] arr = {,,,,,,,,,}; //创建查询语句
var query = from a in arr
orderby a descending
select a;
//输出结果
foreach (var item in query)
{
Console.WriteLine(item);
}
Console.ReadKey();
}

示例2

  

  static void Main(string[] args)
{ //数据源
int[] arr = {,,,,,,,,,}; //创建查询语句
var query = from a in arr
orderby a% descending,a ascending
select a;
//输出结果
foreach (var item in query)
{
Console.WriteLine(item);
}
Console.ReadKey();
}

LINQ-Group子句、Into子句及orderby子句的更多相关文章

  1. LINQ查询表达式---------orderby子句

    LINQ查询表达式---------orderby子句 LINQ可以按元素的一个或多个属性对元素进行排序. class Program { public class PerInfo { public ...

  2. linq之orderby子句

    在Linq查询中,orderby 子句可以对查询结果集进行排序,可以升序也可以降序,排序关键字可以是多个.默认排序方式为升序. 下面的实例代码OrderQuery()中演示了orderby子句对查询的 ...

  3. C# orderby子句

    注意:对联接运算的结果进行排序. 请注意,排序在联接之后执行. 虽然可以在联接之前将 orderby 子句用于一个或多个源序列,不过通常不建议这样做. 某些 LINQ 提供程序可能不会在联接之后保留该 ...

  4. PetaPoco:SkipTake 和 Page 中的 OrderBy 子句不支持 “[]” 的解决办法

    PetaPoco 的 SkipTake 和 Page 方法内部采用了内联视图,而内联视图是不支持 OrderBy 的,因此 PetaPoco 对传入的 SQL 进行分析,对 OrderBy 子句进行分 ...

  5. Merge:解析on子句和when not match子句的陷阱

    在细节上,体现编程的修养.每一位大师,master,其基础必定夯实.废话不多说,直接上干货,Merge子句用于对两个数据表执行数据同步,On子句指定匹配(when matched)条件,When子句指 ...

  6. 转linq中的Single()、First()、Take(1) LINQ 标准的查询操作符 排序 orderby、thenby、Take

    Single():操作一个集合,同时强要求只有一个对象匹配,并返回这一个. First():操作一个集合,可以有多个对象匹配,但是只返回第一个. Take(1):操作一个集合,可以有对个对象匹配,单只 ...

  7. Linq基础操作之Select,Where,OrderBy,ThenBy源码分析

    Linq基础操作之Select,Where,OrderBy,ThenBy源码分析 二:Select 它是延迟执行.yield有得一拼,因为他们都是生成了一个枚举类. if (source is TSo ...

  8. linq group by子句

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. 1. 安装Oracle,配置环境 2. 实现查询From子句 3. 实现查询where子句 4. 实现查询order by子句

    一.环境安装1. 登录:以管理员身份登录 sqlplus 登录名/密码 管理员身份登录:sqlplus system/1234562. 登录后,导入案例.下载scott.sql文件,执行下面一行的命令 ...

随机推荐

  1. 用 go 写 WebAssembly入门

    Golang WebAssembly 入门 Golang 在1.11版本中引入了 WebAssembly 支持,意味着以后可以用 go编写可以在浏览器中运行的程序,当然这个肯定也是要受浏览器沙盒环境约 ...

  2. Android Dialog 的一些特性

    1. Dialog 与 AlertDialog 的区别. AlertDialog 是一种特殊形式的 Dialog.这个类中,我们可以添加一个,两个或者三个按钮,可以设置标题.所以,当我们想使用 Ale ...

  3. Java50道经典习题-程序8 输入数字求和

    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. 分析:关键是计算出每一项的值. i ...

  4. jQuery中的each, data, 插件

    一.  each() $(' ').each(function (){...}) jQuery.each(collection, callback(indexInArray, valueOfEleme ...

  5. Hello world(世界,你好)

    每一个学习语言的小白,第一行代码就是向世界问好,话不多,大圣要开始自己的代码人生了! 一.字符串是可以相加的,比如:print("hello"+"world") ...

  6. 视频video遇到一些坑

    1.video层级最高问题 解决方案思路:当点击其他按钮触发事件时,视频层级挡住其他外层,比如会挡住弹窗,这是应该让视频暂停播放且隐藏,这是视频这个地方会空一个位置可以放一张封面占位,这样就解决视频层 ...

  7. 【扫盲】HTML5、Web APP、3G网站、Wap网站傻傻分不清楚

           移动互联网指手机网站和app,其中app分为native app(原生app),web app(html5开发),Hybrid app(前两种app结合):手机网站分为wap网站和3g网 ...

  8. oracle创建表空间、用户、权限

    原链接:https://www.cnblogs.com/wxm-bk/p/6510654.html oracle 创建临时表空间/表空间,用户及授权   1:创建临时表空间 create tempor ...

  9. 在Myeclipse中查看android源码就是这么easy

    在开发android 时不能查看源码必是很不爽的一件事,看过网上一些文章后(都是2.0以前的版本,跟我的2.2最新版本的配置是不一样的)不过还是给了我启示,通过配置终于可以在myeclipse中查看源 ...

  10. Tensorflow入门----占位符、常量和Session

    安装好TensorFlow之后,开一个python环境,就可以开始运行和使用TensorFlow了. 先给一个实例, #先导入TensorFlow import tensorflow as tf he ...