开始写代码了,我会把自己的代码粘贴在这里,好不容易可以实践了,可是不能偷懒的。

 string[] words = { "hello", "wonderful", "linq", "beautiful", "world" };

            var shortWords =
from word in words
where word.Length <=
select word; foreach (var word in shortWords)
{
Console.WriteLine(word);
} Console.Read();

这是个简单的运用Linq来操作集合的。简单的是好理解,但让你理解的不深入,所以,不要害怕困难。

string[] words = { "hello", "wonderful", "linq", "beautiful", "world" };

            var groups =
from word in words
orderby word ascending
group word by word.Length into lengthGroups
orderby lengthGroups.Key descending
select new { Length = lengthGroups.Key, Words = lengthGroups }; foreach (var group in groups)
{
Console.WriteLine("Words of length "+group.Length); foreach (var word in group.Words)
{
Console.WriteLine(" "+word);
}
} Console.Read();

这是个难的,当然也是运用Linq来操作集合(记得以前我是区分不出什么是Linq和Lambda,而且还让同事忽悠过,想想就气愤,不懂一定要自己学)

这个难,我是不理解。为什么凭空出现了LenghtGroups的,既然它能够出现在C#语言中,那一定有它的原因的,比如什么匿名类型啊或者扩展方法啊。当然现在我这些统统不懂呢,不过我觉得和C#基础是有关联的,我也很期待

摘自原文

试一试使用传统方法的实现。你会发现需要很多代码,并且要频繁地操作集合。Linq的第一个优势-强大的表达能力,Linq让我们能够用声明的方式在查询中表达将要实现的目的,而无需编写大量的间接代码。

而且你熟悉SQL的话,或许已经垃圾这些代码正在做什么了。除了支持这种优雅的、类似于SQL的查询之外,Linq也提供了一系类函数,例如Sum、Min、Max和Average等,使我们可以执行更加丰富的操作。

的确Linq省略了大量操作集合的循环判断代码,用声明的方式查询,我有些明白什么叫 声明的方式查询 了;

比如这段代码 decimal totalAmount =orders.Sum(order => order.Amount);是不是一个变量,然后是后面一段赋值,就ok了。

文中后一句,写的熟悉sql,我想再强调下,这只是c#代码,和sql没有关系,不要理解错了,虽然sql脚本中也有Sum语法,但是上面那段代码的SUM是C#代码,文中也只是说类似sql,充分说明linq是方便的操作集合,操作集合就是操作数据喽。不要忘记linq的两个功能,一个是统一查询,另一个是集成到编程语言中,吼吼吼。

开始写博客,学习Linq(5)的更多相关文章

  1. (转)[BetterExplained]为什么你应该(从现在开始就)写博客

    (一)为什么你应该(从现在开始就)写博客 用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处.(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极 ...

  2. 150922-写写博客监督下不自觉的自己-PPT,Linux,HTML

    开始学PHP的日子里,总是懒散的有一天没一天的.无意间听闻写博客来展示代码(现在还远远做不到哇),来监督个人每天的学习进度,鉴于自己还是爱写一点文字,但愿可以坚持下去. 凡是都喜欢有个计划,骨子里的理 ...

  3. 在github上写博客

    在github上混了几个月,收获颇多.作为一个开源的坚定信仰者,深深觉得每一个码农都应该参与到开源社区中,github提供了一个平台,让你为开源项目提交代码变得异常简单和直接.以前由于工作异常繁忙和繁 ...

  4. 《REWORK》启示录 招聘笔杆子——程序员为什么值得写博客

    Hire Great Writers 仿佛这是写给自己看的,不过这在其中也有着相当有趣的意义 .虽然自己算是一个能写的人,或许这算是一种不算才华的才华,写博文的意义通常不会在于去描述自己怎样,怎样.通 ...

  5. Spring+SpringMVC+MyBatis+easyUI整合优化篇(十四)谈谈写博客的原因和项目优化

    阶段总结 又到了优化篇的收尾阶段了,这其实是一篇阶段总结性的文章,今天是4月29号,距离第一次发布博客已经两个月零5天,这两个多月的时间,完成了第一个项目ssm-demo的更新,过程中也写了33篇博客 ...

  6. 写博客 Why?

    博客?英文名字为blogger,它是一种网络日记. 一.我为什么要写博客? 这是我第一回写博客,写的可能不是非常的好,请多多给些意见.在平常的学习的时候,我怕忘掉自己学的知识,常常都会记录下来,但回头 ...

  7. 用markdown写博客

    目录 用markdown写博客 前言 标题 段落 引用区块 代码块 列表 分隔线 链接 强调.加粗.下划线.删除线 图片 智能链接 表格 转义序列 用markdown写博客 前言 博客园支持用mark ...

  8. 对写博客的n种思考

    喜欢才能坚持 开始写博客的原因非常功利,功利到不好意思说. 反正你们也懂的,就那么几种. 问题是,如果心态一直这么功利,而写博客的前期回报几乎为零,情绪会变得沮丧,不知如何继续. 不过后来想想,其实做 ...

  9. [BetterExplained]为什么你应该(从现在开始就)写博客

    (一)为什么你应该(从现在开始就)写博客 用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处.(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极 ...

  10. 回归写博客时间-----CeliaTodd

    2019-10-17-19:28:01 记录自己的学习路程 国庆期间本来是有持续写博客的,但是有各种原因就没时间写博客了, 但是学习的进度还是没有落下的,现在正式回归写博客的时间了. 但现在不是写Py ...

随机推荐

  1. Spring RMI (Spring 远程方法调用)【原】

    所需jar包...?    不纠结,一股脑儿全导! 源码地址:http://pan.baidu.com/s/1jG8eOmy 先放结构图如下,客户端和服务端都在一个项目中.也可以把服务端的xxx导成j ...

  2. Linux_安装

    总结:    分区-->格式化-->起一个设备文件名(逻辑分区一定从5开始)-->指定挂载点(必须是空的目录名称作为盘幅)

  3. python 的正则表达式指北

    正则表达式用来拆分字符串 >>> s = 'one1two2three3four4' >>> pattern = re.compile(r'\d+') >&g ...

  4. 由-webkit-transform-style:preserve-3d;所想

    看一个用css3写幻灯片的demo用到了这么几个属性 .demo{ -webkit-transform-style:preserve-3d; -webkit-perspective:800px; -w ...

  5. Python3.X爬虫

    1.Python很有名,但是一直没在实际项目中用过,今天花30分钟学习下.去Python官网https://www.python.org/downloads/ 2.2.X与3.X版本相差比较大,新手用 ...

  6. Centos7下编译CDH版本hadoop源码支持Snappy压缩

    1 下载snappy包并编译 wget https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz tar ...

  7. getattr getattribute setattr hasattr delattr

    getattr是返回对象属性value的函数,用法:getattr(object,attribute_name[,default]) 如果对象拥有属性,则返回属性value,如果对象没有该属性并且也没 ...

  8. python - getattr 与 getattribute 机制

    #__getattribute__ class Foo(): def __init__(self,name): self.name = name def __getattr__(self, item) ...

  9. activity 解析

    acitvity的四种状态: running.paused.stopped.killed 生命周期: onCreate()用来加载资源布局 onStart()启动activity,用户已经可以看到界面 ...

  10. Latex graphicx 宏包 scalebox命令

    scalebox  命令需要加载  \usepackage{graphicx} \scalebox{水平缩放因子}[垂直缩放因子]{对象} \scalebox 命令对其作用的对象进行缩放,使缩放后的对 ...