c# - 如何对 BindingList<T> 进行排序?

标签 c# winforms

我在 BindingList<MyClass> 中存储了数千个 MyClass 对象.我想按日期属性对它们进行排序 MyClass.dt .

类 BindingList 不支持直接排序。我如何排序 BindingList<T>不复制所有对象?请按升序或降序对它们进行排序。

我不需要特殊类(class)SortableBindingListBindingList.Sort() to behave like a List.Sort() 中所述.我正在寻找一两行代码中的简短解决方案。

最佳答案

Linq 可以工作。

var sortedListInstance = new BindingList<MyClass>(unsortedListInstance.OrderBy(x => x.dt).ToList());

请记住,您得到的是排序列表的浅拷贝,而不是 MyClass 的重复实例。

不要忘记在代码文件 System.Linq 的顶部包含命名空间

关于c# - 如何对 BindingList<T> 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39712322/

相关文章:

c# - 如何使用 c# 使用 sharpsvn 客户端读取文件的每个修订版?

c# - 在 C# 中对数据进行分组和进行聚合计算

c# - EFCore.BulkExtensions 中的 BulkInsertAsync 似乎没有插入任何内容

c# - 如何控制MDI窗体中子窗体的显示顺序

C# Winforms,没有使用 GrowAndShrink 调整大小的箭头

c# - 如何更改 WinForms 上下文菜单上复选标记或 'more' 箭头的颜色?

c# - List<List<>>.Contains() 不工作

c# - 在字符串数组中查找下一个可用日期

.net - 使用 WriteValue 手动绑定(bind)数据

c# - 调用涉及由 WinForm 表单托管的 WPF 控件的调用永远不会返回