DataTable-除第一行外的每一行
本文关键字:一行 DataTable- | 更新日期: 2023-09-27 18:20:17
我在应用程序中使用DataTable
进行一些计算。我需要遍历除第一行以外的所有行。有可能吗?
类似于:
DataTable dt;
foreach (DataRow r in dt.Rows /*EXCEPT THE FIRST ONE*/)
{
//do something...
}
LINQ是您的朋友:
DataTable dt;
foreach (DataRow r in dt.Rows.Cast<DataRow>().Skip(1))
{
//do something...
}
这里需要调用Cast()
,因为DataTable.Rows
实现了非通用的IEnumerable
,而linq的扩展方法仅适用于IEnumerable<T>
你还有另一个选择:
DataTable dt;
foreach (DataRow r in dt.AsEnumerable().Skip(1))
{
//do something...
}
好的,你已经得到了答案,但如果你不想使用linq。检查表中行的索引:
foreach (DataRow row in m_dtMatrix.Rows)
{
if (m_dtMatrix.Rows.IndexOf(row) != 0)
{
...
}
}
这是一个快速而肮脏的
DataTable dt;
bool isFirst = true;
foreach (DataRow r in dt.Rows /*EXCEPT THE FIRST ONE*/)
{
if( isFirst ) {
isFirst = false;
continue;
}
//do something...
}