【发布时间】:2012-11-04 19:24:22
【问题描述】:
假设我有一个名为TheListOfMyObjects 的对象列表。在该列表中,有一个具有与值匹配的属性的对象:MyObject.TheProperty = SomeValue。
如何从该列表中获取前 3 个对象和后 3 个对象?
请注意,如果匹配 SomeValue 的对象位于第一个位置,那么我需要位置 2-5 的 3 个对象和最后 3 个位置的 3 个对象,总共 6 个对象。
感谢您的建议。
【问题讨论】:
-
我尝试通过将每个元素推入带有 foreach 循环的数组中来将列表转换为数组。现在我有一个带有索引的数组,但我想知道是否有更短的基于 linq 的方法。
-
如果您使用的是
IList<T>,您已经可以通过索引访问它。使用 LINQ,您可以使用Take来解决这个问题(前提是您有初始索引)。但是您没有提及列表变量的类型,也没有提及您想要 LINQ 实现。 -
它实际上是一个时区对象列表。 var TheListOfAllTimezones = TimeZoneInfo.GetSystemTimeZones();
-
您正在寻找的是一个循环列表。看到这个:stackoverflow.com/questions/716256/…
标签: c#