gpt4 book ai didi

c# - 运行时的where条件

转载 作者:行者123 更新时间:2023-11-30 17:15:53 24 4
gpt4 key购买 nike

我有密码

 DataView res = (from a in dtvw.AsEnumerable()
where a.Field<string>(creteriaattributeID) == rightval
select a).AsDataView();

在这里,我想在运行时获取运算符(“==”)是否可能?

我试过用

where a.Field<string>(creteriaattributeID) + operator + rightval

operator --> string variable so it won't b possible ...你能建议任何其他方法吗...

最佳答案

你可以想到==运算符作为函数,它接受两个字符串并返回 bool。所以例如 Func<string, string, bool> .您可以只使用这种类型的变量吗:

Func<string, string, bool> equal = (a,b) => { return a == b; };
Func<string, string, bool> notequal = (a,b) => { return a != b; };

DataView res = (from a in dtvw.AsEnumerable()
where equal(a.Field<string>(creteriaattributeID), rightval)
select a).AsDataView();

关于c# - 运行时的where条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7709276/

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