废话不多说,直接上代码,代码有注释!自行运行测试!

    class Program
{
static void Main(string[] args)
{
string[] names = { "郭靖", "李莫愁", "欧阳晓晓", "黄蓉", "黄药师", "郭靖", "黄蓉" }; //Take()方法:用于从一个序列的开头返回指定数量的元素。
Console.WriteLine("Take方法直接输出前3个元素");
foreach (var name in names.Take())
{
Console.WriteLine(name);
}
var query = from n in names
where n.Length ==
select n;
Console.WriteLine("Take方法输出查询结果的前1个元素");
foreach (var s in query.Take())
{
Console.WriteLine(s);
}
Console.WriteLine("\n\n\n");
///////////////////////////////////////////////////////////////////////
//Skip()方法:用于跳过序列中指定个数的元素。
//////////////////////////////////////////////////////////////////////
Console.WriteLine("Skip方法跳过前3个元素");
foreach (var name in names.Skip())
{
Console.WriteLine(name);
}
Console.WriteLine("Skip方法跳过查询结果的前1个元素");
foreach (var s in query.Skip())
{
Console.WriteLine(s);
}
Console.WriteLine("\n\n\n");
///////////////////////////////////////////////////////////////////////
//TakeWhile()方法:用于取序列中从开头起符合条件的元素,直到遇到不符合条件的元素为止的所有元素。注意:当条件为假时,就停止了,后面的元素不会输出。
//////////////////////////////////////////////////////////////////////
Console.WriteLine("TakeWhile用法1如下");
foreach (var name in names.TakeWhile(A=>A.Length==))
{
Console.WriteLine(name);
}
Console.WriteLine("TakeWhile用法2如下");
//注意:当条件为假时,就停止了,后面的元素不会输出。
foreach (var name in names.TakeWhile((item, index) => item.Length < && index < ))
{
Console.WriteLine(name);
}
Console.WriteLine("\n\n\n");
///////////////////////////////////////////////////////////////////////
//SkipWhile()方法:用于只要满足指定的条件,就跳过序列中得元素。注意:当遇到条件为假时,就停止跳越了,输出剩余的所有元素。
//////////////////////////////////////////////////////////////////////
Console.WriteLine("SkipWhile用法1如下");
foreach (var name in names.SkipWhile(n => n.Length == ))
{
Console.WriteLine(name);
}
Console.WriteLine("SkipWhile用法2如下");
//SkipWhile跳过名字小于4个字,并且索引小于2
foreach (var s in names.SkipWhile((item, index) => item.Length < && index < ))
{
Console.WriteLine(s);
}
Console.WriteLine("\n\n\n");
///////////////////////////////////////////////////////////////////////
//Reverse()方法:用于反转
//////////////////////////////////////////////////////////////////////
Console.WriteLine("Reverse用法1如下");
foreach (var name in names.Reverse())
{
Console.WriteLine(name);
}
Console.WriteLine("\n\n\n");
///////////////////////////////////////////////////////////////////////
//Distinct()方法:用于去掉重复元素
//////////////////////////////////////////////////////////////////////
Console.WriteLine("Distinct用法1如下");
foreach (var name in names.Distinct())
{
Console.WriteLine(name);
}
Console.WriteLine("\n\n\n");
///////////////////////////////////////////////////////////////////////
//Union()方法:用于合并两个序列,并去掉重复元素。
//////////////////////////////////////////////////////////////////////
Console.WriteLine("Union用法1如下");
string[] names2 = { "郭靖", "黄蓉","神雕","小龙女" };
foreach (var name in names.Union(names2))
{
Console.WriteLine(name + " ");
}
Console.WriteLine("\n\n\n");
///////////////////////////////////////////////////////////////////////
//Concat()方法:用于合并两个序列,但不会去掉重复元素。
//////////////////////////////////////////////////////////////////////
Console.WriteLine("Concat用法1如下");
foreach (var name in names.Concat(names2))
{
Console.WriteLine(name + " ");
}
Console.ReadKey();
} }

@陈卧龙的博客

LInq之Take Skip TakeWhile SkipWhile Reverse Union Concat 用法的更多相关文章

  1. LINQ中的陷阱--TakeWhile&SkipWhile

    在用TakeWhile,SkipWhile设置陷阱之前,我们先来看一看他们的兄弟Take和Skip: public static IEnumerable<T> Take<T>( ...

  2. 一次mysql数据关于union+concat用法的记录

    SELECT CONCAT('SELECT COUNT(*) FROM ',table_name,' union all') FROM information_schema.tables WHERE ...

  3. Linq分区操作之Skip,SkipWhile,Take,TakeWhile源码分析

    Linq分区操作之Skip,SkipWhile,Take,TakeWhile源码分析 二:linq的分区操作 常用的分区操作:Take,TakeWhile,Skip,SkipWhile 三:Take ...

  4. Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法:在写LINQ语句的时候,往往会看到AsEnumerable() ,AsQueryable() 和T ...

  5. MVC+Spring.NET+NHibernate .NET SSH框架整合 C# 委托异步 和 async /await 两种实现的异步 如何消除点击按钮时周围出现的白线? Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    MVC+Spring.NET+NHibernate .NET SSH框架整合   在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MV ...

  6. union的用法

    union的用法 union用来连接两个查询语句,把两个查询语句的查询结果合并起来,两个查询语句的查询字段个数必须一样,否则会出错,查询的字段可以不一样,类型也可以不一样,但是这样查询的意义不大,如果 ...

  7. C#Linq中的Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods,skip,take,takewhile,skipwhile,编译查询等

    我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 . Union Al ...

  8. [转]C#Linq中的Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods,skip,take,takewhile,skipwhile,编译查询等

    本文转自:http://www.cnblogs.com/suizhikuo/p/3791799.html 我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Inte ...

  9. LINQ 中常用函数使用: Take TakeWhile Skip SkipWhile Reverse Distinct

    1,Take 方法 Take方法用于从一个序列的开头返回指定数量的元素. string[] names = { "郭靖", "李莫愁", "欧阳晓晓& ...

随机推荐

  1. ADB命令行控制界面开关

    以下命令需要root权限:   svc命令     这个脚本在/system/bin目录下,这个命令可以用来控制电源管理,wifi开关,数据开关(就是上网流量) svc power stayon [t ...

  2. 在centos7 上部署 vuepress

    vuepress是一款十分优秀简洁的文档生成器,可以根据目录下的md文档自动生成对应的html文件,界面简洁大方.每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加 ...

  3. 【js基础】创建对象的几种常见模式(工厂模式,构造函数模式,原型模式,构造原型组合模式)

    一.工厂模式 缺点:没有解决对象识别的问题 优点:解决了创建多个相似对象的问题 function createPerson(name,age,job){ var o = new Object(); o ...

  4. <转>通过反射获取Form/MenuStrip/ContextMenuStrip等列表

    private void button1_Click(object sender, EventArgs e) { treeView1.Nodes.Clear(); Assembly a = Assem ...

  5. 第一章 Hyper-V 2012 R2角色部署

      在windows server 2012 R2中,我们可以通过安装hyper-v角色来完成虚拟化底层架构的部署.除了图形界面的安装,也可以使用单独的发行版Hyper-V Server 2012 R ...

  6. inode 耗尽

    背景: 之前为了提升大硬盘mkfs文件系统的速度,使用了大文件选项 mkfs.ext4 -T largefile /dev/xvde1 没有仔细算能存多少文件,结果今天发现磁盘没用完,但inode用完 ...

  7. Windows服务器搭建Redis

    1.下载安装Redis https://github.com/MicrosoftArchive/redis/releases 可以下载安装版(.msi)也可以下载解压版(.zip). 我直接下载的安装 ...

  8. STL vector简单用法

    初涉c++,此为<算法笔记>中的内容,有待个人理解完善. vector vector翻译为向量,叫做"变长数组"更容易理解. 头文件:#include<vecto ...

  9. centos7 安装python2.7与3共存

    1.CentOS7默认安装了python2.7.5 2.下载python,到官网下载最新版本. 安装命令为 wget "https://www.python.org/ftp/python/x ...

  10. 第一条:了解Objective-C语言的起源

    第一条:了解Objective-C语言的起源 Objective-C使用的消息结构而非函数调用. Objective-C的重要工作都由"运行组件(runtime component)&quo ...