是否可以选择在 Linq 中应用哪个函数?
我现在拥有的示例:
List<int> list = new List<int>();
bool bDescend = false;
var listOrdered = bDescend ? list.OrderByDescending(it => it) :
list.OrderBy(it => it);
您会看到我根据 bDescend 值选择要应用的函数 - 所以实际上有两个 Linq 查询,而不是一个。
是否可以通过将条件放在一个查询中来避免它?也许像
list.ChooseFunction(bDescend ? OrderBy : OrderByDescending)...
真正的代码更复杂,如果这种技巧可能的话,它会使代码更具可读性。
看起来像一种元编程..