gpt4 book ai didi

c# - 忽略空值的 Linq 搜索

转载 作者:太空狗 更新时间:2023-10-29 22:35:06 26 4
gpt4 key购买 nike

如何进行忽略空值(或可空值)的 linq 搜索?

我有一个方法

IEnumerable<X> Search(int? a, int? b, int? c)

我希望它返回任何整数的匹配项?不为空。

IE:如果 ac 的值为 1 和 9 并且 b 为空,则搜索应该(大致)呈现为

SELECT * 
FROM [TABLE]
WHERE a = 1
AND c = 9

我的真实方法将有 5 个以上的参数,因此迭代组合是正确的。

最佳答案

IEnumerable<X> query = items;
if (a.HasValue) {
query = query.Where(x => x.a == a.Value)
}
if (b.HasValue) {
query = query.Where(x => x.b == b.Value)
}
if (c.HasValue) {
query = query.Where(x => x.c == c.Value)
}

关于c# - 忽略空值的 Linq 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2376291/

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