首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linq在.NET OOP/D中最强大和意想不到的好处是什么?

Linq在.NET OOP/D中最强大和意想不到的好处是什么?
EN

Stack Overflow用户
提问于 2010-01-11 06:46:47
回答 2查看 805关注 0票数 1

自从了解了Linq并积累了经验后,我发现自己越来越依赖它了。它正在改变我对我的课程的看法。其中一些变化是意料之中的(例如,更多地使用集合),但通常是意想不到的(例如。获取类的初始数据作为XElement,有时只是将其保存在那里,懒惰地处理它。)

Linq对.NET OOP/D最强大和意想不到的好处是什么?我特别考虑的是Linq-to-objects和Linq-to-xml,但也包括Linq-to-Entities/SQL,因为它改变了您的类策略。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-11 06:55:19

我注意到使用LINQ有几个显著的好处:

  • Maintainability -当你使用LINQ读取语义转换时,它更容易理解代码的作用,而不是一些由developer.
  • Performance手工编写的令人困惑的循环构造-由于LINQ的延迟和流执行,你通常会得到执行得更好的代码-要么是通过分配工作负载,要么是允许避免不必要的转换(特别是当只消耗结果的一个子集时)。在未来,随着多核处理变得越来越重要,我预计许多LINQ方法可能会发展到支持本机并行处理(考虑多核排序)-这应该有助于保持.NET应用程序在未来的多代码可伸缩性。

还有一些其他的好处:

迭代器生成器的

  • Awareness:一旦开发人员了解了LINQ,他们中的一些人就会继续了解它的工作原理。这有助于提高对C#中yield return语法的认识-这是编写关于业务问题的简洁和正确序列iterators.
  • Focus的强大方式: LINQ使开发人员能够专注于解决底层业务问题,而不是试图优化循环和算法以在最少的周期内运行,或使用最少的代码行。这不仅仅是拥有一个功能强大的序列转换例程的库所带来的生产力。
票数 1
EN

Stack Overflow用户

发布于 2010-01-11 17:25:54

我觉得与使用SQL存储过程的解决方案相比,代码更容易,更容易维护,更容易测试。

把LINQ和扩展结合起来,我得到了类似这样的东西(也许应该使用某种流畅的接口.)

代码语言:javascript
运行
复制
  return source.Growth().ShareOfChangeDate();

其中Growth和ShareOfChageDate是我可以轻松进行单元测试的扩展

正如LBushkin所说,当我们讨论以下内容时,我可以向客户演示

问题我觉得我对生成的SQL的控制变少了,发现性能问题是一个小小的魔术.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2038965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档