我如何在Linq中排序一个列,这个列是一个字符串

本文关键字:一个 字符串 Linq 排序 | 更新日期: 2023-09-27 18:16:57

我有一个索引,它从字典中获取列字符串在Linq中排序

dict.Add(0, "seleccionado");
dict.Add(1, "IdPedido");
dict.Add(2, "FechaPedido");
dict.Add(3, "NSerie");
dict.Add(4, "Importe");

我也有一个订单列表,当我单击字段的列时,我需要获得订单(DESC/ASC)。

我的想法是在一行中做Linq,因为我将传递两个参数:字符串字段order和方向(ASC/DESC)。

如何在Linq中做到这一点?

WHAT I TRIED:

pedidos.OrderBy(x => x.seleccionado);

seleccionado是类的对象,但在我的例子中,我将给出一个字符串而不是对象字段名。

我如何在Linq中排序一个列,这个列是一个字符串

如果我理解了这个问题,您是在问如何按字段对集合进行排序,其中字段是由用户选择的。

在这种情况下,为什么不将lambda存储在字典中?

dict.Add(0, x => x.seleccionado);
dict.Add(1, x => x.IdPedido);
// etc.

https://stackoverflow.com/a/2728432/3825634

这个问题以前已经回答过了。

有动态linq库可用。它们将允许你用字符串动态地构建部分linq查询