在这两个选项中:
var result = from c in coll where c % 2 == 0 select c;
var result = coll.Where ( c => c % 2 == 0 );
Run Code Online (Sandbox Code Playgroud)
哪个更好?
使用一个优于另一个是否有任何优势?对我来说,第二个看起来更好,但我想听听其他人的意见.
如果你只有一两个条款,我会选择"点符号".当您开始进行连接,分组或其他任何引入透明标识符的内容时,查询语法开始吸引更多内容.
通常值得尝试两种方式,并查看特定情况下最具可读性的内容.
就生成的代码而言,在大多数情况下它们将完全相同.偶尔会出现一个可以在点表示法中使用的重载,这使得它比查询表达式语法更简单,但在大多数情况下,值可读性优于其他所有内容.
我还有关于这个主题的博客文章.我肯定会建议开发人员应该对这两个选项感到满意 - 例如,如果一位同事使用LINQ但是不了解查询表达式的基本原理,我会非常担心.(他们不需要知道所涉及的所有翻译,但对正在发生的事情的一些想法将使他们的生活变得更加容易.)
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |