linq读书笔记1-linq 初步
至于linq是什么之类的已经有过太多的文章介绍,亦不清楚的胡朋友可以自己搜索一下便可以得到大量的答案
为了体验linq究竟能带给我们什么体验,我们直接从代码入手:
string[] words = new string[] { "test","test1","linqtosql","linqtoobject","beautiful"};
var result = from p in words
where p.Length > 5
select p;
Console.WriteLine(result.GetType());
foreach (var item in result)
{
Console.WriteLine(item);
}
Console.Read();
以上代码即为实现从一个数组中获取长度大于5的集合,linq返回的结果类型可以result.GetType()进行查看,回想一下在没有linq之前我们如果要实现相同的功能的话需要如何实现,是否是需要这样做呢:
foreach(var item in words)
{
if (item.length>5)
console.writeline(item);
}
从以上这两段简单代码上比较似乎linq并没有带给我们什么神奇胡内容,但是我们接着往下看。
string[] words = new string[] { "test","tes1","linqtosql","linqtoobject","beautiful"};
var result = from p in words
orderby p descending
group p by p.Length into tempqroup
orderby tempqroup.Key descending
select new {
length=tempqroup.Key,
words=tempqroup
};
foreach (var item in result)
{
foreach (var p in item.words)
{
Console.WriteLine(p);
}
}
Console.Read();
以上我们则是实现一个对数组内容按单词长度分组的一个功能,如果我们要使用传统的代码实现 的话会发现将不得不去写很多的代码,对吗?
好了linq的开胃菜到此结束,后面linq胡更多的应用将展开。
linq读书笔记1-linq 初步的更多相关文章
- linq读书笔记3-操作符之select与selectmany
linq对数据的查询方式的表达形式主要有两种: var demo =from p in pList where p.id=*** select p; var demo =pList.where(p=& ...
- linq读书笔记2-查询内存中的对象
上次我们说到了linq对数组内容的检索,自.net2.0以后,泛型成了很常见的一种应用技术,linq对泛型的检索也提供了完善的支持 如对list类型的支持,范例如下: class Program ...
- 读书笔记 C# Linq查询之group关键字浅析
在C#中,自从有了Linq查询表达式后,程序员对可被迭代的序列或列表执行一系列的筛选.排序.过滤.分组.查询等操作.本文章所要讲述的是group关键字. Linq查询表达式,是以from关键字开头,以 ...
- [读书笔记]C#学习笔记六: C#3.0Lambda表达式及Linq解析
前言 最早使用到Lambda表达式是因为一个需求:如果一个数组是:int[] s = new int[]{1,3,5,9,14,16,22};例如只想要这个数组中小于15的元素然后重新组装成一个数组或 ...
- 2019.03.22 读书笔记 Linq中的IEnumerable与IQueryable
Linq主要分为 Linq to object .Linq to XML .Linq to sql(现在都用EF了). 针对object和sql,微软分别设计了两套接口IEnumerable.IQue ...
- linq学习笔记
最近在学习linq的一些基础知识,看了c#高级编程及阅读了园子内部几篇优秀的博文,有所体会,感觉应该记录下来,作为以后复习使用.都是一些最基础的知识,大致分为三个部分:linq预备知识:linq查询: ...
- (转)Linq学习笔记
写在前面 最近在看Linq,在博客园看到这篇文章,写的通俗易懂,转来和大家一起做个分享.原文地址http://www.cnblogs.com/goscan/archive/2011/05/05/Lin ...
- LINQ学习笔记(一)基本语法
1.LINQ简介 LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.包括五个部分:LINQ to Objects.LINQ to DataSe ...
- LINQ学习笔记(一)
LINQ,语言集成查询(Language Integrated Query)是一组用于C#和Visual Basic语言的扩展. 它允许编写C#或Visual Basic代码以查询数据库相同的方法操作 ...
随机推荐
- 学习在创建好的工程里面添加CoreData
在学习CoreData中, 在建工程后, 没有添加, 于是就参考网络文章进行更改. 这几天在学习做一个ios的小项目,项目中需要对数据进行基本的增删改查操作.于是就想用一把CoreData.但在创建项 ...
- java读取网页
package cn.stat.p4.ipdemo; import java.io.IOException; import java.io.InputStreamReader; import java ...
- 你好,C++(1)C++是什么?C++的“前世今生”
The world is built on C++. ——Herb Sutter the chairman of the ISO C++ standards committee and chief n ...
- js禁止默认的右键菜单或出现自定义右键菜单
1.屏蔽默认的右键菜单 js: document.getElementById('myimg').oncontextmenu=function(){return false;} jquery: $(' ...
- Nginx的安装及反向代理设置
因为项目的缘故,接触到了Nginx的安装和反向代理设置,和大家分享下. 一.Nginx的下载.安装cd /homewget http://nginx.org/download/nginx-1.0.5. ...
- python学习第九天 -- 列表生产式
说说python特有的列表生成式.python的列表的生成式主要用法是什么? 用法就是可以使用简洁的代码生成出list集合. 直接用代码举了例子: 利用列表生成式生成列表[1x2,3x4,5x6,7x ...
- AngularJS自定义表单验证
<!doctype html> <html ng-app="myApp"> <head> <script src="G:\\So ...
- RichTextBox控件日常使用集合
1.RichTextBox控件自动滚动到底部 richTextBox1.ScrollToCaret(); //将控件的内容滚动到当前光标位置
- Kafka笔记--常用指令(删除topic)
删除topic 首先需要设置server.properties,最后一行添加 delete.topic.enable=true 然后运行> ./kafka-topics.sh --zookeep ...
- Java添加自定义注解
今天在整合MyBatis过程中,我使用扫描的方式去扫描DAO目录下的Java文件,但是在Service层使用Autowired的时候报错,但是工程能正常运行,此处有Bug! 解决方案: 1.创建 an ...