- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一种动态方式来返回按参数 xy 排序的列表。该列表可以按 ID、用户名、邮件等进行降序、升序排序。
我收到这个参数作为字符串。例如 sort=-username
减号表示列表降序。排序参数是用户名。
所以我返回 user.OrderByDescending(o => o.Username).ToList();
目前,在长 if-else 结构的帮助下,我检测到需要哪种排序。
我希望我可以借助一个函数将排序字符串参数替换为对象参数。
伪代码
//input for example: sort=-username
Boolean isAscending = isAscending(sort) //return true or false
var parameter = isSortStringInsideObject(sort) //
if (isAscending) {
user.OrderBy(o => o.parameter).ToList();
} else {
user.OrderByDescending(o => o.parameter).ToList();
}
所以参数可以是对象中的每一个参数。
我是 .net Core 的新手。所以我希望我没有制定一个乌托邦式的要求。
最佳答案
像这样的东西应该可以解决问题(使用反射):
var isAscending = GetIsAscending(sort);
var pi = typeof(User).GetProperty(parameter);
if (pi != null)
user = isAscending
? user.OrderBy(a => pi.GetValue(a, null))
: user.OrderByDescending(a => pi.GetValue(a, null));
关于c# - 带有通用参数的 dotnet .net core 2 OrderBy/OrderByDescending,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46813664/
如何使用 OrderByDescending? 我有一个标签 Circles,声明如下 ReadOnlyCollection Circles 其中包含一个变量,类型为 double 的直径 我想根据直
我有一个整数集合,我想按降序排序,但将 0 值保留为列表中的第一个。 例如: 0,1,2,3,4,5,6,7,8 应该导致: 0,8,7,6,5,4,3,2,1 谢谢! 最佳答案 var input
我正在使用 swift 和 parse。我使用了“query.orderbyDescending”,但在某种程度上它不能完美工作。我想排列人们的总分,但顺序如下(例如,9、7、32、21、15....
我有一个父列表,其中包含多个相同类型的子列表,我需要对父列表中的每个列表处理 OrderByDescending 函数。我知道这很困惑,所以你开始吧: public class Message {
以下按顺序返回文件夹 03-march 05-may 我怎样才能修改下面的代码来获得反序 05-may 03-march 代码: private void loadGrid() { List
您好,我正在尝试 OrderByDescending() 查询,而不是: results = results.OrderByDescending(o => o.Surname); 我想使用: res
private static void findNewestFile(List list) { foreach (string dir in list) { var d
在浏览 Enumerable 类的 .Net Framework 源代码时,我发现它的内部 EnumerableSorter 类 CompareKeys method用于排序的有以下一行: retur
我有两个名为 Followers 和 Posts 的类,我正在尝试制作主屏幕,通过它我可以看到我所在用户的帖子以下,还有我的帖子..所以我尝试这样做来获取帖子的查询: func loadData()
我正在使用 LINQ 查询按日期降序获取数据顺序。但是当年份改变时,日期的降序排列不正确 这是我的代码 在此代码中,LastLogin 是具有 DateTime 数据类型的列。我必须按此列名对数据进行
我有一个包含两个可为 null 的日期时间列 ETA 和 ETD 的表。一个总是有值(value)的。我想按日期订购餐 table 。因此,例如,如果 ETA 为空,则使用 ETD 进行订购。如果
我想得到一个列表,该列表按优先级为 3 个属性排序 截止日期 数量 运行日期 我的代码在这里 MyList .OrderByDescending(p => p.ToDate) .Ord
我有一个检索当前用户和他们在我的 feed 页面上的好友列表帖子的查询,我尝试按帖子的创建日期或最新日期对帖子进行排序。这是我在打印“createAt”时从我的代码中得到的结果: 结果非常随机。 这是
我的数据库中有一个包含 DateTime? 的字段。我想对结果进行排序,以便 NULL 显示在顶部,然后按 DateTime 降序排列,例如, null null 2012-04-01 2012-01
我有以下代码,它将返回特定给定 Azure 存储路径的所有列表项(文件和文件夹)。 我想使用基于 Property LastModified 的 OrderByDescending 对其进行过滤 如何
在 lambda 表达式中,如何按 DateTime 值列表而不是对象进行排序?例如,我想通过以下查询获取最近的 3 个发薪日期: var hires = (from e in md.Employe
这个问题在这里已经有了答案: Linq OrderBy does not sort a List. How do I sort the list? (5 个答案) 关闭 2 年前。 我正在使用 Li
正如标题所说,我正在尝试为 source.OrderByDescending(this source, expression, comparer) 构建一个表达式树 这是我生成表达式树的代码: var
我正在尝试构建一个查询,其中有一个学生姓名,然后是他所属的俱乐部的嵌套集合。我想用 OrderByDescending 来组织这个集合。我对向括号提供什么感到困惑。 public void GetSt
我想按数量总和的降序对值列表进行排序,而不覆盖数量的原始值。 因此,假设我的数据列表是: Reason=Quality, Quantity=10 Reason=Quality, Quantity=10
我是一名优秀的程序员,十分优秀!