C# 如何撰写将一个Datatable的所有奇数行提取出来生成一个表,所有偶数行提取出来生成一个表?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 如何撰写将一个Datatable的所有奇数行提取出来生成一个表,所有偶数行提取出来生成一个表?相关的知识,希望对你有一定的参考价值。

可以试一下DataView, 用DataView.RowFilter做筛选,然后用DataView.ToTable()直接生成Table。我没时间做试验了,你可以试一下。

另外,如果只是想得到奇数行和偶数行的集合,用LINQ更方便:
var oddRows = table.Rows.Cast<DataRow>().Where((row, index) => index % 2 == 0).ToArray();
var evenRows = table.Rows.Cast<DataRow>().Where((row, index) => index % 2 == 1).ToArray();
但要生成Table会稍微麻烦点:
之后再建两个DataTable, 再分别Import两个List中的Row(用foreach或for循环都行)。
如果用值字段来区分奇偶行,调整一下LINQ中的Where条件就行。
参考技术A Datatable还有DataSet都是只读的,不能动态添加数据,你还是把数据筛选出来保存到两个List<class>在使用吧 参考技术B 最好做成视图的形式更现实些! 参考技术C for循环

以上是关于C# 如何撰写将一个Datatable的所有奇数行提取出来生成一个表,所有偶数行提取出来生成一个表?的主要内容,如果未能解决你的问题,请参考以下文章

C# DataTable.Rows.Clear() 不清除行[重复]

将文件中所有奇数行求和的 Pythonic 方法

C# 处理DataTable 重复数据

C#如何获取datatable指定行的值

C#如何将两个DataTable Row合并为一行

C#如何将datatable中的数据批量更新到MYSQL数据库