gpt4 book ai didi

c# 处理所有可能的空值和非空值

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:48 25 4
gpt4 key购买 nike

我有以下方法:

public IQueryable<Profile> FindAllProfiles(string CountryFrom, string CountryLoc)
{
return db.Profiles.Where(p => p.CountryFrom.CountryName.Equals(CountryFrom,
StringComparison.OrdinalIgnoreCase));
}

编写where 子句的最佳方式是什么,该子句将在一个语句中过滤所有可能的输入参数组合:

CountryFrom 和 CountryLoc = null

只有 CountryFrom null

只有 CountryLoc 为空

CountryFrom 和 CountryLoc 都不为空。

很快 .. 我需要按年龄、性别、职业 .. 筛选个人资料。

我正在尝试找到一种在 C# 中高效编写它的方法。我知道如何在 TSQL 中以干净的方式进行操作。我希望我知道路。感谢到目前为止的所有回复。

最佳答案

一个很好的旧的二进制 XNOR 运算可以解决这个问题:

db.Profiles.Where(p => !(p.CountryFrom == null ^ p.CountryTo == null))

它实际上等于两个 bool 值,尽管对我来说它比编写 ((p.CountryFrom == null) == (p.CountryTo == null)) 更直接,甚至更简单!

关于c# 处理所有可能的空值和非空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3196744/

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