public static async Task Test()
{
var query = items
.OrderBy(x => x)
.Where(x => x > 10);
}
Use Where before OrderBy.
When Orderby is called right before Where, LINQ sorts all the elements before filtering them. Doing the opposite is more efficient, first filter the items then sort the remaining ones only.
This rule shouldn’t be ignored.
public static async Task Test()
{
var query = items
.OrderBy(x => x)
.Where(x => x > 10);
}
public static async Task Test()
{
var query = items
.OrderBy(x => x)
.ThenByDescending(x => x)
.Where(x => x > 10);
}
public static async Task Test()
{
var query = from item in items
orderby item
where item > 10
select item;
}
public static async Task Test()
{
var query = from item in items
orderby item descending
where item > 10
select item;
}
public static async Task Test()
{
var query = items
.Where(x => x > 10)
.OrderBy(x => x);
}
public static async Task Test()
{
var query = items
.Where(x => x > 10)
.OrderBy(x => x)
.ThenByDescending(x => x);
}
public static async Task Test()
{
var query = from item in items
where item > 10
orderby item
select item;
}
public static async Task Test()
{
var query = from item in items
where item > 10
orderby item descending
select item;
}