使用dotnet 2.0。我目前有这样的代码:
DataView dv = new DataView(dsTrans.Transactions, filterSpec, sortSpec,
DataViewRowState.CurrentRows);
foreach (DataRowView dvr in dv)
{
DSTransactions.TransactionsRow transRow = (DSTransactions.TransactionsRow)dvr.Row;
// do something with transRow
}
其中"dsTrans“是强类型的DataSet。我想知道是否有一种更类型安全的方法来遍历DataView的行,它不需要使用强制转换(或使用"as“关键字)。
(请注意,需要一些排序和过滤,这就是使用DataView的原因)
谢谢。
发布于 2009-07-02 04:02:06
你可以试试这个:
// Only one cast here
Enumerator<DSTransactions.TransactionsRow> enumer = (IEnumerator<DSTransactions.TransactionsRow>)dv.GetEnumerator();
while (enumer.MoveNext())
{
// enumer.Current will be of type DSTransactions.TransactionsRow
Console.WriteLine(enumer.Current);
}
enumer.Dispose();
https://stackoverflow.com/questions/1036857
复制