C# 如何根据参数按ASC排序或描述LINQ中的特定列
我正在使用以下LINQ查询生成一个C# 如何根据参数按ASC排序或描述LINQ中的特定列,c#,linq,C#,Linq,我正在使用以下LINQ查询生成一个结果: var field = "FirstName"; // or "LastName" var type = "asc"; // or "desc" var result = (from x in db.ContactSet select new { x.FirstName, x.LastName })
结果
:
var field = "FirstName"; // or "LastName"
var type = "asc"; // or "desc"
var result = (from x in db.ContactSet
select new
{
x.FirstName,
x.LastName
}).ToList();
对于字段
变量,我需要orderby
asc
或desc
(基于类型
变量)
我怎样才能以干净的方式做到这一点
编辑:副本中提到的问题不能回答此问题。使用
然后你可以写这样的东西
var field = "FirstName"; // or "LastName"
var type = "ascending"; // or "descending" <-- full
var result = (from x in db.ContactSet
select new
{
x.FirstName,
x.LastName
}).ToList();
result = result.OrderBy(field + " " + type).ToList();
var field=“FirstName”;//或“姓氏”
var type=“升序”//或“下降”使用
然后你可以写这样的东西
var field = "FirstName"; // or "LastName"
var type = "ascending"; // or "descending" <-- full
var result = (from x in db.ContactSet
select new
{
x.FirstName,
x.LastName
}).ToList();
result = result.OrderBy(field + " " + type).ToList();
var field=“FirstName”;//或“姓氏”
var type=“升序”//或者“降序”可能的重复项如果您在编译时知道字段名,为什么要将排序列名指定为动态的?我只在运行时知道它们,我只是为了简单起见才把它们放在那里。顺便说一句,我会坚持@markoJuv给出的解决方案,重复问题中的第二个答案与您接受的答案完全相同。如果您在编译时知道字段名,为什么要将排序列名指定为动态?我只在运行时知道它们,我只是为了简单起见才将它们放在那里。顺便提一下,我会坚持@markoJuv给出的解决方案,重复问题中的第二个答案与您接受的答案完全相同。答案所要求的@BarryMichaelDoyle方法的类型参数(如他所解释的)我必须快速出发,所以我只能在两小时后再次回来时才能检查。我不知道我需要一个包裹。感谢您的澄清。答案要求@BarryMichaelDoyle方法的类型参数(如他所解释的)我必须尽快出发,所以我只能在两小时后再次回来时检查。我不知道我需要一个包裹。谢谢你的澄清。