1 c# linq foreach datarowcollection
我有一组表行(类型DataRowCollection)。我写的完全正确:
foreach(var row in myDataRowCollection)
{
// Something with row
}
Run Code Online (Sandbox Code Playgroud)
但是以下内容将无法编译:
myDataRowCollection.ToList();
Run Code Online (Sandbox Code Playgroud)
甚至
myDataRowCollection.Select(...
Run Code Online (Sandbox Code Playgroud)
这些System.Linq扩展DataRowCollection未实现的期望是什么?
foreach()基于模式(docs),实际上并不依赖IEnumerable。GetEnumerator()足够。
class A // note: no interface
{
public IEnumerator GetEnumerator() { ...}
}
Run Code Online (Sandbox Code Playgroud)
另一方面,Linq是基于的扩展方法IEnumerable<T>。
您的DataRowCollection工具IEnumerable却没有IEnumerable<DataRow>。对于Linq来说太老了。
但是有一些可用的辅助方法,myDataRowCollection.AsEnumerable().Select(...)应该可以使用。
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |