gpt4 book ai didi

c# - 如何使 DataTable 可枚举?

转载 作者:太空狗 更新时间:2023-10-29 23:58:41 24 4
gpt4 key购买 nike

我不能在 DataTable 上使用 AsEnumerable(),我使用的是 C# 3,但我只是针对 2.0 框架(LINQ 功能由 LINQBridge 提供)。有什么方法可以让 DataTable 在不使用 Select() 的情况下可枚举吗?

bool isExisting = (bdsAttachments.DataSource as DataTable).Select().Any(xxx => (string)dr["filename"] == filename);

更新:

我想让它看起来像这样:

bool isExisting = (bdsAttachments.DataSource as DataTable).AsEnumerable().Any(xxx => (string)dr["filename"] == filename);

我知道 DataTable 的 Select 方法返回一个副本,我想只使用 AsEnumerable,问题是我只针对 2.0 框架,System.Data.DataSetExtensions 不可用

顺便说一句,我试过这个:http://cs.rthand.com/blogs/blog_with_righthand/archive/2006/01/15/284.aspx , 但有编译错误。

最佳答案

    public static IEnumerable<DataRow> EnumerateRows(this DataTable table)
{
foreach (var row in table.Rows)
{
yield return row;
}
}

允许您调用:

bool isExisting = (bdsAttachments.DataSource as DataTable).EnumerateRows().Any(dr => (string)dr["filename"] == filename);

关于c# - 如何使 DataTable 可枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1041955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com