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

    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. Clumsy 利用无线网卡结合Clumsy软件模拟弱网络测试

    利用无线网卡结合Clumsy软件模拟弱网络测试 by:授客 QQ:1033553122 实践环境 Clumsy 0.2 下载地址:http://jagt.github.io/clumsy/downlo ...

  2. Oracle 启动实例(instance)、打开数据库

    Oracle启动实例(instance).打开数据库   by:授客 QQ:1033553122 启动实例(instance).打开数据库 1.开启sqlplus [laiyu@localhost ~ ...

  3. ios开发GCD(2)-dispatch_semaphore_t信号量计数器

    思考:现在有多个线程异步执行,我们想要同时最多只能执行2个或n个,该怎么办? dispatch_semaphore_t 看代码解析: NSLog(@"开始"); dispatch_ ...

  4. NoHttp封装--03 cookie

    NoHttp请求自动维持Cookie:   1.支持Session.Cookie.临时Cookie的位置.   2.支持App重启.关机开机后继续持久化维持.   3.提供了接口,允许开发者监听Coo ...

  5. WebStorm连接Github教程

    上学期刚开学的时候看过一次git相关的内容,很久没用过,忘了,两个月前又看了一次还精心做了笔记,也没有具体使用,又忘了,所以,避免又双叒叕忘了,我决定正式把git用起来.刚开始是通过Git Bash来 ...

  6. [20171107]dbms_shared_pool.pin补充.txt

    [20171107]dbms_shared_pool.pin补充.txt --//上午的测试,做一些补充,主要还是一些理解问题. 1.环境:SCOTT@book> @ &r/ver1 P ...

  7. python第二十天

    logging模块 re正则表达式

  8. InnoDB中锁的模式,锁的查看,算法

    InnoDB中锁的模式   Ⅰ.总览 S行级共享锁lock in share mode X行级排它锁增删改 IS意向共享锁 IX意向排他锁 AI自增锁 Ⅱ.锁之间的兼容性 兼 X IX S IS X ...

  9. IDEA 如何查看一个类里面的所有方法

    快捷键:Alt+7

  10. Matplotlib:plt.text()给图形添加数据标签

    1.数据可视化呈现的最基础图形就是:柱状图.水平条形图.折线图等等: 在python的matplotlib库中分别可用bar.barh.plot函数来构建它们,再使用xticks与yticks(设置坐 ...