gpt4 book ai didi

c# - 在 Linq to DataSet 中为 .Field() 编写通用方法

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:12 26 4
gpt4 key购买 nike

我一直在尝试编写一个可重用的通用方法来查找 DataTable .到目前为止我所拥有的:

private static IEnumerable<DataRow> GetRow<FType>(string Tablename, 
string Fieldname, FType Match)
{
var result = from row in dataSet.Tables[Tablename].AsEnumerable()
where row.Field<FType>(Fieldname) == Match
select row;

return result;
}

但是,我们不喜欢 row.Field<FType>(Fieldname) == Match .

关于我应该如何解决这个问题有什么想法吗?我得到:运算符“==”不能应用于 FType 和 FType。

最佳答案

== Match 替换为 .Equals(Match) ,你应该没问题。如果值可能为空,我会进行空检查。

private static IEnumerable<DataRow> GetRow<FType>(string Tablename, string Fieldname, FType Match)
{
var result = from row in dataSet.Tables[Tablename].AsEnumerable()
where row.Field<FType>(Fieldname) != null
&& row.Field<FType>(Fieldname).Equals(Match)
select row;

return result;
}

关于c# - 在 Linq to DataSet 中为 .Field<T>() 编写通用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842610/

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