首页 > 解决方案 > 如何从 IEnumerable<> 中选择一个项目和上一个项目?

问题描述

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

例如:

IEnumerable<string>  my_Enu

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

我想创建第二个 IEnumerable :

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

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

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

预先感谢您的帮助。

标签: c#ienumerable

解决方案


我认为您可以使用简单的 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 };

当然,您需要添加空检查


推荐阅读