-2

必要なのは、IQueriable(LINQ to SQLメソッドの結果)を注文し、 countが定義されている場合は最初のcount要素を返すことです。私は次のコードを使用します:

IOrderedQueryable<MainLog> list = logs.OrderByDescending(item => item.Time);
if (count > 0) list = list.Take(count).OrderByDescending(item=>item.Time);

正常に動作しますが、OrderByDescendingを2回呼び出すのは好きではありません。注文を壊さずに、また二重注文せずに、それをもっと良くすることはできますか?

4

1 に答える 1

2

2 番目はまったく必要ありませんOrderByDescending。単純に削除します:

IQueryable<MainLog> list = logs.OrderByDescending(item => item.Time); 
if (count > 0)
    list = list.Take(count);
于 2012-09-10T07:24:26.187 に答える