gpt4 book ai didi

c# - 如何根据索引/行号从DataTable中选择行?

转载 作者:行者123 更新时间:2023-12-01 22:18:18 25 4
gpt4 key购买 nike

我有一个数据表。我想根据 DataTable 中行的 Index/Row Number 选择行。

假设下面是DataTable:

----------------    ---------------
| ID | Name | | Index/RowNo |
---------------- ---------------
| A001 | John | | 1 |
| A002 | Foo | | 2 |
| A003 | Rambo | | 3 |
| A004 | Andy | | 4 |
| ... | ... | | 5 |
---------------- ---------------

现在,我想使用例如 Index > 2 的条件从上面显示的 DataTable 中选择行,在这种情况下,第一个条目位于索引 1, A001 | John 不会成为结果 DataTable 的一部分。我怎样才能有效地做到这一点?

此外,我希望以 DataTableLinq 查询结果的形式获得结果。

我正在尝试做这样的事情:

var result = dt.Select("RowNum > 1", "");

或者

var result = from row in dt.AsEnumerable()
where RowNum > 1
select row;

最佳答案

I am trying to do something like this:

var result = dt.Select("RowNum > 1", "");

您可以使用 Enumerable.Skip 即使有 DataTable因为它是 IEnumerable<DataRow> :

IEnumerable<DataRow> allButFirst = table.AsEnumerable().Skip(1);

获取新的 DataTable与:

DataTable tblAllButFirst = allButFirst.CopyToDataTable();

如果您的下一个问题是如何仅获取具有给定索引的行:

var allowedIndices = new[]{ 2, 4, 7, 8, 9, 10 };
DataTable tblAllowedRows = table.AsEnumerable()
.Where((r, i) => allowedIndices.Contains(i))
.CopyToDataTable();

关于c# - 如何根据索引/行号从DataTable中选择行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12930840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com