排序列表使用 LINQ 在子类内部
我知道我可以像这样对列表进行排序
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 并且似乎不影响原来的。所以我认为我的处理方式是错误的?
I know I can sort a list doing something like this
var result = List<T>.OrderBy(value => value.property);
But lets say I have something like this
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()
(and I assume the other LINQ extentions) return an OrderedCollection and doesn't seem to affect the original. So I assume I'm going about this the wrong way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用List.Sort( )。这将对列表进行就地排序。
You can use List.Sort( ). This will do an in-place sort of the list.
你可以做
You can do