【问题标题】:How to select an item and the previous from an IEnumerable<>? [duplicate]如何从 IEnumerable<> 中选择一个项目和上一个项目? [复制]
【发布时间】:2021-05-10 13:21:21
【问题描述】:

我想知道是否可以从 IEnumerable 中选择一个值和之前的值。

例如:

IEnumerable<string>  my_Enu

这是 ("A","B","C","D","E") 的项目集合,例如。

我想创建第二个 IEnumerable :

IEnumerable<string> test_Enu = my_Enu.Where(item => item =="C")

我也想添加上一项,即"B"

你能告诉我是否有办法吗?

提前感谢您的帮助。

【问题讨论】:

标签: c# ienumerable


【解决方案1】:

我认为你可以使用简单的 LinkedList。

IEnumerable<string> collection = new string[] { "A", "B", "C" };
var linkedList = new LinkedList<string>(collection);
var element = linkedList.Find("C");
var result = new[] { element, element.Previous };

当然你需要添加空检查

【讨论】:

  • 添加另一种方法: var test_Enu = my_Enu .TakeWhile(x => x != "C") .TakeLast(1) .Append("C");也会给你这两个元素。
猜你喜欢
  • 1970-01-01
  • 2023-01-09
  • 1970-01-01
  • 2021-11-13
  • 2017-09-20
  • 2013-01-04
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
相关资源
最近更新 更多