You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用LINQ按GUID定位列表指定项并获取其后10项

解决方案

你的现有代码仅会筛选出匹配SelectedGirlID的项,无法实现“获取选中项之后10个元素”的需求。要达成目标,需要先定位到匹配项的索引,再从该索引的下一位开始截取元素。

实现步骤

  • 找到列表中与目标girlID匹配的元素索引
  • 从该索引的下一个位置开始,截取最多10个元素

修正后的VB代码

Dim AllGirls = db.GetAllGirlsClosestToSelected().ToList()

' 定位选中女孩在列表中的索引
Dim selectedIndex = AllGirls.FindIndex(Function(g) g.girlID = SelectedGirlID)

' 处理找到/未找到匹配项的两种情况,截取目标元素
Dim SelectedGirls = If(selectedIndex <> -1, 
                       AllGirls.Skip(selectedIndex + 1).Take(10).ToList(), 
                       New List(Of Girl)())

代码说明

  • FindIndex:返回第一个匹配girlID的元素索引,未找到则返回-1
  • Skip(selectedIndex + 1):跳过选中项及其之前的所有元素,从选中项的下一个元素开始
  • Take(10):截取接下来的最多10个元素,若剩余元素不足10个则返回全部剩余元素
  • 用If判断处理未找到匹配项的场景,避免索引越界

内容的提问来源于stack exchange,提问作者michtum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:42:49