gpt4 book ai didi

DataView 上的 LINQ

转载 作者:行者123 更新时间:2023-12-01 06:50:54 25 4
gpt4 key购买 nike

我无法在不转换的情况下查询 DataView。 IsPresent 方法中的两行代码取自 "LINQ - Specified cast is not valid with dataview use " 并且似乎对每个人都有效,除了一位评论者。我正在“使用”LINQ 命名空间,那么我的问题是什么?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// works
DataView o = new DataView();
var p = from x in o.Cast<DataRowView>() where x.Row.Field<bool>("xxx") select x.Row;
}

public static bool IsPresent(DataView dvDataTag, string colName)
{
// does not work
int count = dvDataTag.Count(drv => string.Equals("1", drv[colName].ToString()));
return dvDataTag.Any(drv => string.Equals("1", drv[colName].ToString()));
}

}
}

错误 2 'System.Data.DataView' 不包含 'Any' 的定义,并且找不到接受类型为 'System.Data.DataView' 的第一个参数的扩展方法 'Any'(您是否缺少使用指令或程序集引用?) A:\TEMP\ConsoleApplication1\ConsoleApplication1\Program.cs ConsoleApplication1 20 20

最佳答案

尝试像在 Main 方法中那样转换表格:

            int count = dvDataTag.OfType<DataRowView>().Count(drv => string.Equals("1", drv[colName].ToString()));
return dvDataTag.OfType<DataRowView>().Any(drv => string.Equals("1", drv[colName].ToString()));

我也试过.Cast<DataRowView>()就像在您的 Main 方法中一样,并且也已编译。

关于DataView 上的 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9090479/

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