我想创建一个新的,删除的,公共项目的分组列表。我目前这样做:有没有更有效的方法来创建一个分组列表
public class ListSortingGroupingTest
{
List<int> OldList = new List<int> { 1, 2, 3, 4, 5 };
List<int> NewList = new List<int> { 3, 4, 5, 7, 8, 9 };
public void CreateGroupedList()
{
var deleted = OldList.Except(NewList).Select(i => new { Group = "Deleted", Number = i });
var added = NewList.Except(OldList).Select(i => new { Group = "Added", Number = i});
var common = NewList.Intersect(OldList).Select(i => new { Group = "Common", Number = i});
var result = deleted.Union(added).Union(common);
}
}
This works。但我想知道是否有更好或更有效的方法?
最终我希望在WPF分组列表视图中绑定到此。
梦幻般的答案和证明更有效。我用我的和你的实现跑秒表,结果如下:ME =>执行时间:16954(6ms) YOU =>执行时间:1321(0ms) – John