c# - 获取 List<> 中给定项目的上一个/下一个项目

标签 c# list

说我有这个列表:1, 3, 5, 7, 9, 13

例如,给定值为:9,上一项为 7,下一项为 13

如何使用 C# 实现此目的?

最佳答案

您可以使用 indexer 获取所需索引处的元素。将 1 添加到索引将为您提供 下一个,从索引中减去 1 将为您提供 上一个 元素。

int index = 4; 
int prev = list[index-1];
int next = list[index+1];

您将必须检查下一个和上一个索引是否存在,否则您将得到 IndexOutOfRangeException异常(exception)。由于 List 是从零开始的索引,因此第一个元素的索引为 0,第二个元素的索引为 1,依此类推。

if(index - 1 > -1)
   prev = list[index-1];
if(index + 1 < list.Length)
   next = list[index+1];

关于c# - 获取 List<> 中给定项目的上一个/下一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24799820/

相关文章:

C#:非标志枚举,有没有更简单的方法来检查枚举以匹配多个值之一?

list - 如何在 Scheme 中编写自己的 "list?"程序

python - 在元组的第一个索引中查找具有非不同值的元组列表的索引

Python - 从另一个中减去一个字典列表

c# - 在 ASP.NET WebForms NOT MVC 中使用带有 token 的 OAuth 进行 Azure 身份验证

c# - 从身份验证中排除文件类型的中间件

c# - 在 Entity Core 中调用存储过程时创建新的 DbContext 还是使用注入(inject)的 DbContext?

java - 将 List<String> 转换为 String 返回类型

perl - 标量上下文中的列表赋值

c# - 确定从强类型 View 接收数据的操作方法参数的类型