【发布时间】:2014-09-17 18:41:02
【问题描述】:
假设我在循环中填充了var lst = List<Foobar>。我无法修改 Foobar 对象。
在IEnumerable 中的一个属性上有效执行OrderBy 的最佳方法是什么,但如果它们相等,请保留原始顺序?例如,如果我有这个:
var lst = new List<Foobar> {
new Foobar{Foo = "b", Bar=3},
new Foobar{Foo = "b", Bar=1},
new Foobar{Foo = "a", Bar=2}
}
我想确保在lst.OrderByWithPreserveOrder(x => x.Foo).ToList 之后得到以下信息:
List<Foobar> {
new Foobar{Foo = "a", Bar=2}
new Foobar{Foo = "b", Bar=3},
new Foobar{Foo = "b", Bar=1},
}
【问题讨论】:
-
发个例子怎么样?
-
现在,您为什么不尝试一下简单的
OrderBy?它将返回您期望的结果。
标签: c# linq ienumerable