gpt4 book ai didi

c# - 如何在 LINQ 查询中放置条件 WHERE 子句

转载 作者:太空狗 更新时间:2023-10-29 23:04:57 25 4
gpt4 key购买 nike

我正在尝试在 condition 为真时执行以下操作,我想执行 WHERE 否则不执行。

var condition = true;

var mast = new List<Master>
{
new Master{Id = 2, Prop1 = "Default", Prop2 = "Data", Prop3 = 11},
new Master{Id = 3, Prop1 = "Some", Prop2 = "TestData", Prop3 = 11},
new Master{Id = 4, Prop1 = "Some", Prop2 = "MoreData", Prop3 = 11},
};

var g = mast.Where(w=> condition ? (x => x.Prop1.ToLower() != "default" || x.Prop2.ToLower() != "data") : true = true).ToList();

上面的代码给我错误,

Type of conditional expression cannot be determined because there is no implicit conversion between 'lambda expression' and 'bool'

最佳答案

只需将条件移动到 lambda 中:

var g = mast.Where(w => (condition
? (w.Prop1.ToLower() != "default" || w.Prop2.ToLower() != "data")
: true)
).ToList();

关于c# - 如何在 LINQ 查询中放置条件 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54995561/

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