zoukankan      html  css  js  c++  java
  • LINQ如何做SELECT TOP操作

     

     

    我们知道,LINQ和SQL语句不是一回事,虽然他们看上去很相似。LINQ里没有"TOP"这个关键字,然而我们有时候需要选择一定数量的对象,肿么办呢?

    最2的办法是:先把对象全部选出,再写个循环,把不要的结果一个个剔除。这种方法显然不是我们想要的。

    刚开始我是这样写的:

     

    int i = 3

    var query = from m in mList where --i >= 0 select m

    我用一个变量来限制输出的条件,来模拟“TOP”的效果。但这样写不科学,这是一种代码的“坏味道”。为了完成操作A,而引入一个不太相关A流程的辅助操作B。如果代码比较复杂,又没写注释,就容易混淆逻辑。

    后来经过高手指点发现这样写就可以:

    正确写法

    var query = (from m in mList select m).Take(3);

  • 相关阅读:
    day15内置函数
    day14生成器进阶
    day13迭代器、生成器
    day12装饰器进阶
    day11装饰器
    day10函数进阶
    day9函数
    day8文件操作
    正则表达式
    初识递归
  • 原文地址:https://www.cnblogs.com/iceicebaby/p/2426700.html
Copyright © 2011-2022 走看看