c# - 更改列表中的项目位置

标签 c# linq linq-to-objects

我有这段代码,通过它我可以过滤并获得一组组

var groups = Items.Select(g => g.Category).Distinct(); 

现在在列表中我还得到一个空组“”,我想将其放在组的最后一个索引处。有人可以告诉我该怎么做吗。

最佳答案

不完全是,您需要双重订购。如果您使用上面的 orderby,您将首先得到空字符串。

var groups = Items.Select(g => g.Category).Distinct()
                                          .OrderBy(g => g.Length==0)
                                          .ThenBy(g=>g.Category);

现在空组将排在最后,而其余组将按字母顺序组织。

关于c# - 更改列表中的项目位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14209628/

相关文章:

c# - 如何针对分层对象列表动态构建和存储复杂的 linq 查询?

c# - 当需要该类 WPF 的多个实例时,模型内部的 INotifyPropertyChanged

c# - 由于绑定(bind)到在模板布局之前触发的事件而导致的名称范围问题

c# - 获取订购组的最后一项

c# - 取出列表中的每个第二个对象

c# - 获取字符串数组中匹配元素的所有索引

.net - 使用 linq 选择组合

c# - 将列表列表转换到 IGrouping?

c# - 如何在WPF中的TextBlock中显示解析后的xml?

c# - 如何在不保留搁置集的情况下从 TFS 取消搁置?