c# - LINQ OrderBy 然后 SELECT 特定索引
问题描述
我有一个数据库表,里面有很多数据。我想按列名对其进行排序TIMESTAMP
,然后选择生成的任何给定索引List
。
int index = 1;
query = dbContext.SimpleAisRecords
.OrderBy(ship => ship.TIMESTAMP)
// How to get wanted index: --> select/take(index)?;
我想这样做的原因是因为我的表只有虚拟数据,我想遍历它。因此我想用所需的索引调用这个方法。第一次迭代index : 1
,下一次迭代index : 2
等等。我已经看到很多关于如何然后Select
再然后的OrderBy
问题。OrderBy
Select
OrderBy
Take
但正如我所说,我需要一种方法来获取 的特定索引OrderBy
,而不是那个的第一项或最后一项OrderBy
。
那可能吗?
解决方案
您可以使用Where
(第二个参数是index
)的重载:
var model = new int[] { 1, 2, 3, 4, 5, 10, 9, 8, 7 };
var result = model.OrderBy(s => s).Where((s, i) => i > 5).ToList();
更新:
我们可以包含所需的索引范围并将它们签入Where
:
var indexes = new List<int>{ 1, 8, 5 };
var model = new int[] { 1, 2, 3, 4, 5, 10, 9, 8, 7, 6 };
var result = model.OrderBy(s => s)
.Where((s, i) => indexes.Contains(i)).ToList();
推荐阅读
- javascript - setState 在 ReactJS GET 方法中不起作用
- arkit - 如何使用带有 ARImageTrackingConfiguration 的 RealityKit ARView?
- java - 尝试学习 java、html、curl 或其他任何东西以学习如何自动与在线词典交互的新手
- python - 每个 epoch 后的 PyTorch 平均准确度
- python - 使用具有附加属性的自定义层保存和加载 keras 模型
- ruby - ruby heredoc 和 sprintf escape %: throwing malformed format sting %" (ArgumentError)
- java - 我的禁令命令参数要求似乎不起作用(Bukkit)
- javascript - 如何在按钮单击时将类添加到具有相同名称的 div
- asp.net - ASP.NET Web 应用程序在本地运行,但在 Azure 上发布时显示错误
- flutter - Flutter IAP 在被取消后没有启动付款弹出窗口