DataTable 检查行是否在集合中的最后一行
DataTable check if row is last in collection
假设我有一个像这样的数据表:
D 的状态是 DataViewRowState.Deleted,假设 O 是未被触及的行
index: 0 | state: O
index: 1 | state: O
index: 2 | state: O
index: 3 | state: D
index: 4 | state: D
假设我删除了索引 2 处的行(我将行状态设置为已删除)。有没有办法知道索引 1 处的行是否是集合中最后一个未删除的行,而无需 "walking forward" 并检查索引 1 之后每条记录的行状态?
您可以使用 LINQ:
int deletedIndex = 2;
DataRow firstNonDeletedBeforeDeletedIndex = table.AsEnumerable()
.Where((row, index) => index < deletedIndex && row.RowState != DataRowState.Deleted)
.LastOrDefault(); // null if none found
假设我有一个像这样的数据表:
D 的状态是 DataViewRowState.Deleted,假设 O 是未被触及的行
index: 0 | state: O
index: 1 | state: O
index: 2 | state: O
index: 3 | state: D
index: 4 | state: D
假设我删除了索引 2 处的行(我将行状态设置为已删除)。有没有办法知道索引 1 处的行是否是集合中最后一个未删除的行,而无需 "walking forward" 并检查索引 1 之后每条记录的行状态?
您可以使用 LINQ:
int deletedIndex = 2;
DataRow firstNonDeletedBeforeDeletedIndex = table.AsEnumerable()
.Where((row, index) => index < deletedIndex && row.RowState != DataRowState.Deleted)
.LastOrDefault(); // null if none found