class Program
    {
        static void Main(string[] args)
        {
 
            //1. Aggregate
            int[] testArr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            //refer:http://www.cnblogs.com/ldp615/archive/2009/08/12/1544688.html
            // x is aggregate result 
            var result = Enumerable.Aggregate(testArr, (x, y) => { return x + y; });
            var result2 = Enumerable.Aggregate(testArr, calculateSum);
 
            string[] testStringArr = new string[] { "i", "am", "chinese" };
            var resultString = testStringArr.Aggregate((x, y) => { return x + "  " + y; });
 
            //2. All
            var allOK = testArr.All(o => o % 2 == 0);
            var allOK2 = testArr.All(o => o < 10);
 
            //3.Cast
            var testArr2 = Enumerable.Repeat(new CD() { Title = "a" }, 10);
            var ret = testArr2.Cast<ABC>().First();
 
            //4.group by
            var groupArr = testArr.GroupBy(o => o % 2 == 0);
            var allKeys = groupArr.Select(o => o.Key);
            var allKeysWithValues = groupArr.SelectMany(o => o.Select(x => x + " " + o.Key)).ToList();
 
            //5.Intersect
            int[] testArr3 = new int[] { 1, 2, 3, 9, 11, 12 };
            var intersectResult = testArr.Intersect(testArr3).ToList();
 
            //6.MAX, 
            var retMAX = testStringArr.Max(o => compareMAX(o));
 
 
            //7.single 
            //refer: http://blog.163.com/li_crane/blog/static/1950209720110853413858/
            //Single():操作一个集合,同时强要求只有一个对象匹配,并返回这一个。
            //First():操作一个集合,可以有多个对象匹配,但是只返回第一个。
            //Take(1):操作一个集合,可以有对个对象匹配,单只返回第一个,但是这里返回的是一个集合,而不是单个的概念。
 
            //8.Orderby ThenBy
            int i = 0;
            List<CD> allCDs = new List<CD>();
            while (i < 10)
            {
                allCDs.Add(new CD() { Title = i + "i", SubTitle = DateTime.Now.ToString(), TypeID = i % 3 });
                i++;
            }
            var newList = allCDs.OrderBy(o => o.SubTitle).ThenBy(o => o.Title);
 
            //9.ToDictionary
            var retDictionary = allCDs.ToDictionary(x => x.Title, y => y);
 
            //10.ToLookup
            //refer:http://blog.sina.com.cn/s/blog_5fc933730100xd3d.html
            var retLookup = allCDs.ToLookup(x => x.TypeID);
            var secondElement = retLookup[2];
 
            //1.Zip
            //refer:http://www.cnblogs.com/lifepoem/archive/2011/11/29/2267243.html
            IEnumerable<string> zip = testArr.Zip(allCDs, (n, w) => n + "=" + w.Title + "|" + w.SubTitle);
 
            foreach (var zipstr in zip)
            {
                Trace.WriteLine(zipstr);
            }
        }
 
        static int calculateSum(int a, int b)
        {
            return a + b;
        }
 
        static T compareMAX<T>(T parm)
        {
            return parm;
        }
    }
 
 
    class ABC
    {
        public string Title { get; set; }
    }
 
    class CD : ABC
    {
        public string SubTitle { get; set; }
        public int TypeID { get; set; }
    }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

常用Linq示例代码的更多相关文章

  1. Swift常用语法示例代码(二)

    此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法. 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上Th ...

  2. Swift常用语法示例代码(一)

    此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法. 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上Th ...

  3. 1.NetDh框架之数据库操作层--Dapper简单封装,可支持多库实例、多种数据库类型等(附源码和示例代码)

    1.NetDh框架开始的需求场景 需求场景: 1.之前公司有不同.net项目组,有的项目是用SqlServer做数据库,有的项目是用Oracle,后面也有可能会用到Mysql等,而且要考虑后续扩展成主 ...

  4. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  5. 十五个常用的jquery代码段【转】

    好的文章顶一个 回到顶部按钮 通过使用 jQuery 中的 animate 和 scrollTop 方法,你无需插件便可创建一个简单地回到顶部动画: 1 // Back to top 2 $('a.t ...

  6. 十五个常用的jquery代码段

    十五个常用的jquery代码段 回到顶部按钮 通过使用 jQuery 中的 animate 和 scrollTop 方法,你无需插件便可创建一个简单地回到顶部动画: 1 // Back to top ...

  7. C# WebSocket 服务端示例代码 + HTML5客户端示例代码

    WebSocket服务端 C#示例代码 using System; using System.Collections.Generic; using System.Linq; using System. ...

  8. python开源项目及示例代码

    本页面是俺收集的各种 Python 资源,不定期更新. 下面列出的各种 Python 库/模块/工具,如果名称带超链接,说明是第三方的:否则是 Python 语言内置的. 1 算法 1.1 字符串处理 ...

  9. C/C++ 开源库及示例代码

    C/C++ 开源库及示例代码 Table of Contents 说明 1 综合性的库 2 数据结构 & 算法 2.1 容器 2.1.1 标准容器 2.1.2 Lockfree 的容器 2.1 ...

随机推荐

  1. 微信web开发者工具同时打开两个小程序项目

    在写小程序时,想要一边参考别人的Demo一边做,但是微信web开发者工具无法同时开两个实例,怎么办? 单个软件实例来回切换打开的项目太麻烦,一种办法是同时下载[微信web开发者工具]和[微信web开发 ...

  2. 宇宙最强spacemacs

    这个标题背后的潜台词其实是:逼格是什么炼成的? 此处省略一万字. Emacs就不多说了,神之编辑器,但其快捷键实在是....Evil.好啦,现在来了Spacemacs,结合Vim与Emacs二者的优点 ...

  3. [cpu]TI cortex-A9 查看cpu的频率

    Hi Aaron, For checking and changing Cortex-A9 CPU frequency in u-boot, refer to the below files: u-b ...

  4. CAS (14) —— CAS 更多用户信息

    CAS (14) -- CAS 更多用户信息 摘要 将更多用户信息写入到service验证返回消息中 版本 tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas ...

  5. mac使用nvm安装node进行多版本管理

    安装 $ git clone https://github.com/creationix/nvm.git ~/.nvm $ source ~/.nvm/nvm.sh vi ~/.bash_profil ...

  6. 【转】WKT、SRID、EPSG概念

    http://www.cnblogs.com/jackdong/archive/2010/12/20/1911558.html 之前一直对WKT.EPSG.SRID不是很理解,总是混淆,今天看了一下, ...

  7. Hbase 学习(三)Coprocessors

    Coprocessors 之前我们的filter都是在客户端定义,然后传到服务端去执行的,这个Coprocessors是在服务端定义,在客户端调用,然后在服务端执行,他有点儿想我们熟悉的存储过程,传一 ...

  8. 实战c++中的string系列--string与char*、const char *的转换(data() or c_str())

    在project中,我们也有非常多时候用到string与char*之间的转换,这里有个一我们之前提到的函数 c_str(),看看这个原型: const char *c_str(); c_str()函数 ...

  9. android开发(25) - 推送的实现,使用百度云推送

    什么叫推送? 中文名称:推送 英文名称:push 定义:描述因特网内容提供者和因特网用户之间工作方式的术语.“推送”指因特网内容提供者定期向预订用户“提供”数据. 项目中有可能会用到推送.如果自己写一 ...

  10. Photoshop图层混合模式计算公式大全

    下面是photoshop cs2中所有混合模式的数学计算公式,另外还介绍了不透明度,这些公式仅适用于RGB图像,对于Lab颜色图像而言,这些公式将不再适用. 1.Opacity 不透明度 C=d*A+ ...