如何在Linq中订购列,该列是字符串?

时间:2014-08-06 13:56:27

标签: c# linq

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

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

我也有一份订单清单,当我点击该栏目栏时,我需要获得订单(DESC / ASC)。

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

我怎样才能在Linq中做到这一点?

我做了什么:

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

seleccionado是该类的对象,但在我的情况下,我将给出一个字符串而不是对象字段名。

2 个答案:

答案 0 :(得分:3)

如果我理解了这个问题,你就会问如何按字段对字母进行排序,字段由用户选择。

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

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

// etc.

答案 1 :(得分:0)

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

之前已经回答过。

有动态linq库可用。它们允许您使用字符串动态构建linq查询的一部分。