最基本的Lambda表达式

(参数列表)=>{f方法体}

参数列表中的参数类型可以是明确类型或者是推断类型

如果是推断类型,则参数的数据类型将由编译器根据上下文自动推断出来

linQ to Obejct的操作

一些简单的查询

下面所使用的Print方法在list中是没有,是自己写的拓展方法,代码在最下面

 private void button5_Click(object sender, EventArgs e)
{
//LinQ to Object
//泛型集合
List<string> li = new List<string>() { "张三","李四","王五","赵六","钱七"};
//输出所有元素
// var list2 = li.Select(sd => sd);
//list2.Print();
//输出里面姓张的
//var list1 = li.Select(sd => sd).Where(sd => sd.StartsWith("张"));
// var list1 = li.Where(s => s.StartsWith("张"));
//var list3 = li.Where(s => Judge(s));
//list3.Print();
//进行排序 默认按照字母排序
//var list4 = li.OrderBy(s => s);
//按照最后一个字母排序
var list5 = li.OrderBy(s => s.Substring(s.Length - 1, 1)).Select(s => s);
list5.Print();
}
  //进行复杂操作
public bool Judge(string s)
{
if (s.StartsWith("张"))
{
return true;
}
else
{
return false;
}
}

这个拓展方法并不是必要的,只是为了方便展示效果

    /// <summary>
/// 创建一个静态的类,拓展类
/// </summary>
public static class ExtraClass
{
/// <summary>
/// 拓展方法 必须是静态的
/// </summary>
/// <param name="s">对哪一个属性进行的拓展</param>
/// <returns></returns> //为IEnumerable提供输出方法
public static void Print(this IEnumerable ie)
{
IEnumerator IEU = ie.GetEnumerator();
while (IEU.MoveNext())
{
Console.WriteLine(IEU.Current);
}
}

linQ学习笔记之二简单的linq使用的更多相关文章

  1. LINQ学习笔记(二)

    上一篇是根据百度百科写的随便,同时也纠正我对LINQ的看法,因为首次接触LINQ是使用EF对数据库数据的操作. 所以误以为它操作数据库的一种新手段. LINQ语言集成查询是一组技术的名称,这些技术建立 ...

  2. C#可扩展编程之MEF学习笔记(二):MEF的导出(Export)和导入(Import)

    上一篇学习完了MEF的基础知识,编写了一个简单的DEMO,接下来接着上篇的内容继续学习,如果没有看过上一篇的内容, 请阅读:http://www.cnblogs.com/yunfeifei/p/392 ...

  3. DuiLib学习笔记(二) 扩展CScrollbar属性

    DuiLib学习笔记(二) 扩展CScrollbar属性 Duilib的滚动条滑块默认最小值为滚动条的高度(HScrollbar)或者宽度(VScrollbar).并且这个值默认为16.当采用系统样式 ...

  4. guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用

    guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用 1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: Introduction Guava Collection ...

  5. Yii框架学习笔记(二)将html前端模板整合到框架中

    选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...

  6. VSTO学习笔记(二)Excel对象模型

    原文:VSTO学习笔记(二)Excel对象模型 上一次主要学习了VSTO的发展历史及其历代版本的新特性,概述了VSTO对开发人员的帮助和效率提升.从这次开始,将从VSTO 4.0开始,逐一探讨VSTO ...

  7. Mysql学习笔记(二)数据类型 补充

    原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...

  8. Memcached 学习笔记(二)——ruby调用

    Memcached 学习笔记(二)——ruby调用 上一节我们讲述了怎样安装memcached及memcached常用命令.这一节我们将通过ruby来调用memcached相关操作. 第一步,安装ru ...

  9. Deep Q-Network 学习笔记(二)—— Q-Learning与神经网络结合使用(有代码实现)

    参考资料: https://morvanzhou.github.io/ 非常感谢莫烦老师的教程 http://mnemstudio.org/path-finding-q-learning-tutori ...

随机推荐

  1. 将HTML5封装成android应用APK文件的几种方法

    越来越多的开发者热衷于使用html5+JavaScript开发移动Web App.不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数.一方面,用户在使用习惯上,不喜 ...

  2. JavaScript中实现extend()方法

    var male = { sex: "male" }; var xiaoming = { name: "xiaoming", school: "xin ...

  3. 【前端积累】JavascriptUtil 字符串部分

    //计算字符串长度 String.prototype.strLen = function() { var len = 0; for (var i = 0; i < this.length; i+ ...

  4. 字节、字、bit、byte的关系

    字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit)  一个字的字长为16 一个字节的字长是8 bps ...

  5. table表框去掉相邻的间隔

    HTML <table> <tr> <th>名称</th> <th>描述</th> </tr> <tr> ...

  6. 本地显示svg正常显示,在工程项目中无法正常显示

    提前说明:此文仅记录个人项目问题,不具有众参考意义. 原因: 工程中对引用的资源进行解析设置,即resource设置. 解决方法: 找到静态资源加载路径,添加 if(urlpostfix.equals ...

  7. ajax两张传输数据方式

    encodeURI() 函数可把字符串作为 URI 进行编码. 语法 encodeURI(URIstring) 参数 描述 URIstring 必需.一个字符串,含有 URI 或其他要编码的文本. 返 ...

  8. Scrum meeting 记录

    本周Scrum Master 侯宇泰 一. 工作完成内容记录 · 陈双: 1. 后端数据库Azure Storage设计 2. Offline 上传Movie信息 3. 主页和配音页面的连接 · 鲍航 ...

  9. swift实现水仙花数

    //: Playground - noun: a place where people can play import Cocoa for var a in 1...4{ var b = 4 - a ...

  10. [AR+Vuforia]学习笔记

    若项目中导入了多个数据库对象,则需要在ARCamera中手动指定需要加载的对象: