如何根据字段数对List >进行排序?
列表得到了结构
a|b|c|d|eeee|rere|ewew| ewqewq|ewew| ewew|ewewewewew|
按排序我想根据块数(asc/desc)来做
编辑
在
我访问由项每个列表[0]的每> is "items"
这些项[xx]是一个列表,这意味着我希望它们对数组进行排序
a|b|c|d|eeee|rere|ewew| a|b|c|d|eeee|rere a|b|c|d|eeee
tvanfosson.. 9
如果您不需要"就地"排序,可以使用LINQ为您提供一个新的排序列表.
var sorted = oldList.OrderBy( l => l.Count );
否则,您需要编写自己的Comparer,它接受两个列表并按其大小返回排序.
public class CountComparer : IComparer> { #region IComparer
> Members public int Compare( List
x, List y ) { return x.Count.CompareTo( y.Count ); } #endregion } oldList.Sort( new CountComparer() );
或者,正如@Josh指出的那样,你可以用lambda表达式做到这一点.
oldList.Sort( (a,b) => a.Count.CompareTo( b.Count ) )
如果比较相对简单或使用一次,IMO后者可以很好地工作,但实际的类可能更好,因为比较变得更复杂或者你需要在多个地方重复它.
如果您不需要"就地"排序,可以使用LINQ为您提供一个新的排序列表.
var sorted = oldList.OrderBy( l => l.Count );
否则,您需要编写自己的Comparer,它接受两个列表并按其大小返回排序.
public class CountComparer : IComparer> { #region IComparer
> Members public int Compare( List
x, List y ) { return x.Count.CompareTo( y.Count ); } #endregion } oldList.Sort( new CountComparer() );
或者,正如@Josh指出的那样,你可以用lambda表达式做到这一点.
oldList.Sort( (a,b) => a.Count.CompareTo( b.Count ) )
如果比较相对简单或使用一次,IMO后者可以很好地工作,但实际的类可能更好,因为比较变得更复杂或者你需要在多个地方重复它.