c# - 如何从 IEnumerable<> 中选择一个项目和上一个项目?
问题描述
我想知道是否可以从 IEnumerable 中选择一个值和之前的值。
例如:
IEnumerable<string> my_Enu
("A","B","C","D","E")
这是ex的项目集合。
我想创建第二个 IEnumerable :
IEnumerable<string> test_Enu = my_Enu.Where(item => item =="C")
我也想添加上一个项目,即"B"
.
你能告诉我是否有办法吗?
预先感谢您的帮助。
解决方案
我认为您可以使用简单的 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 };
当然,您需要添加空检查
推荐阅读
- jenkins - 如何在詹金斯管道 groovy 文件中使用 withcredentials 设置多个凭据
- flutter - 如何在颤动中呈现多个键值对的静态列表
- excel - 使用 VBA 从 Excel 中打开 Word Doc 以查找日期文本并将其替换为 Excel 中单元格中的日期文本
- xml - Golang:将 xml 转换为 gzip 的问题
- google-chrome - SameSite cookie、框架、子域和重定向
- java - 例外:考虑在配置中定义一个 bean 类型
- groovy - 如何在 Groovy 中扩展文件?
- php - SQLSTATE [23502]:非空违规:在 laravel 中更新评论时出现 7 错误
- r - 用 NA 替换 data.table 列中的重复值
- sql - MS Access - 如何将来自两个单独数据库的两个直通查询组合成一个组合结果?