我知道我可以按照这样的方式对列表进行排序
var result = List<T>.OrderBy(value => value.property);
但是我想说我有类似的东西
class Stock
{
public Guid ID { get; set; }
public string Description { get; set; }
}
class StockList : List<Stock>
{
public enum SomeEnum
{
SomeOtherValue = 0,
SomeOtherOtherValue
}
//What if I want method like this using LINQ?
public void Sort(SomeEnum sortBy)
{
switch (sortBy)
{
case SomeValue.SomeOtherOtherValue:
//Sort one way
break;
case SomeValue.SomeOtherValue:
//Sort another
break;
}
}
}
this.OrderBy()
(我假设其他LINQ扩展)返回OrderedCollection并且似乎不影响原始。所以我假设我的方式错了吗?
答案 0 :(得分:3)
您可以使用List.Sort( )。这将对列表进行就地排序。
答案 1 :(得分:0)
你可以做到
this.Sort(new Comparison<Stock>((x,y) => x.Description.CompareTo(y.Description)));