【发布时间】:2015-02-11 09:02:34
【问题描述】:
好吧,我可能在这里想多了。 我尝试按另一个列表对列表进行排序。只要另一个列表包含列表的所有元素,它就可以正常工作。 如果另一个 List 不完整并且我想将剩余元素保留在 List 的末尾,那么什么是一个好的方法?
这里是一个例子:
public class Column
{
public int Id;
public string Name;
public string Something;
//...
}
public class Columns : IEnumerable<Column>
{
private List<Column> columnList = new List<Column>;
public void SortByName(List<Column> sortedIncompleteList)
{
var sorted = from incomplete in sortedIncompleteList
join current in columnList
on incomplete.FieldName equals current.FieldName
select current;
columnList = sorted.ToList();
}
//...
}
【问题讨论】:
-
既然您知道如何使用完整列表来完成此操作,请从使用 except 排除缺少的元素开始。然后将这些粘贴到有序列表中。
-
排序逻辑不清楚。您想通过作为方法参数提供的另一个列表订购
columnList?那你为什么不使用order by?