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. Sql语法高级应用之六:如何在Sql语句中如何使用TRY...CATCH

    TRY...CATCH使用范例 BEGIN TRY //逻辑语句块 END TRYBEGIN CATCH //Catch异常处理块 SET @msg = ERROR_MESSAGE(); PRINT ...

  2. zstack相关学习的博客

    https://segmentfault.com/u/camile/articles?page=1

  3. spring包下载方法

    http://blog.csdn.net/liangtiaoxian/article/details/52780747 https://jingyan.baidu.com/article/2fb0ba ...

  4. Deepin personalized transplantation of kali platform tools

    首先配置更新源: 把kali的源添加到 Deepin 自带的源后面: 简易换源方法: 1.打开文件管理 -> 地址栏输入路径:/etc/apt/ 然后回车->在目录中右键以管理员身份打开 ...

  5. Centos安装Ruby2.2.3

    升级软件包版本 (PS:我没有升级,一是太慢了,二是不知道更新完之后是否会影响其他的应用) #升级所有包,改变软件设置和系统设置,系统版本内核都升级 yum -y update #升级所有包,不改变软 ...

  6. php防止网站被刷新

    在实际应用中,总会遇到某些页面被恶意用户刷新.当你的系统在某些模块没有使用缓存的时候,频繁的刷新会导致数据库吃紧.下面附上一段代码,防止频繁的刷新造成的死机情况. 主要是从 session方面进行限制 ...

  7. js的window对象

    js的window对象 1.子窗口方法 function testOpen(){ window.open('son.html','newwindow','height=400, width=600, ...

  8. jquery text html width heigth的用法

    <body> <div id="div1"> <h3>我是标题</h3> </div> <div id=" ...

  9. tomcat startup.brt启动一闪而过

    今天启动皕杰自带的tomcat的时候,直接点startup.brt控制台窗口一闪而过. 改用cmd命令启动: 切换到 E:\皕杰报表\皕杰报表3.5\DemoServer\bin目录 运行startu ...

  10. P2486 [SDOI2011]染色(树剖)区间覆盖+区间的连续段

    https://www.luogu.org/problemnew/show/P2486 值的一看https://www.cnblogs.com/Tony-Double-Sky/p/9283262.ht ...