首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从EnumerableRowCollection<DataRow>中删除DataRow?

如何从EnumerableRowCollection<DataRow>中删除DataRow?
EN

Stack Overflow用户
提问于 2011-12-22 04:00:47
回答 1查看 1.7K关注 0票数 0

我想从EnumerableRowCollection中删除一个数据行。这可能吗?我使用EnumerableRowCollection而不是泛型变量来解释我的上下文。

代码语言:javascript
复制
EnumerableRowCollection<DataRow> results = from myRow in myDataTable.AsEnumerable()
                                           where results.Field("RowNo") == 1
                                           select results;

foreach(DataRow result in results)
{
    if(resultOk(result))
    delete result from results??
}
EN

回答 1

Stack Overflow用户

发布于 2011-12-22 04:11:48

确保不能从使用foreach迭代的集合中移除元素。这是被禁止的,并将导致运行时异常。

您可能只想将此逻辑转移到linq query中:

代码语言:javascript
复制
EnumerableRowCollection<DataRow> results = from myRow in myDataTable.AsEnumerable()
where myRow.Field("RowNo") == 1 && !resultOk(myRow)
select myRow; // note that you're returning myRow, not results, like in your code
// you need to pay attention to code samples you're providing to avoid misunderstanding

这将返回到您真正想要的元素列表,而不需要在foreach循环中删除这些元素。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8595569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档