gpt4 book ai didi

c# - 否定整个 if 语句以检查空值是否合适?

转载 作者:太空狗 更新时间:2023-10-30 00:24:04 25 4
gpt4 key购买 nike

我有点像初级程序员。我在这里要做的是检查是否有时间,是否被选中,以及那个时间是否与另一个时间相等。如果这一切都是真的,那么我想跳过它下面的代码块。这是代码示例:

if (currentGVR.Round_Start_Time)
{
if (tr.StartLunchDateTime != null && currentGVR.Round_Start_Lunch && roundedStart == roundedStartL)
// skip
else
{
key = tr.TransactionID;
TransactionRecords[key]["Start_DateTime"] = roundedStart;
}
}

我考虑过使用 OR 运算符,但我可以看到如果没有时间进行比较,哪里会发生错误。使用 AND 运算符可以避免这种困境。

所以总的问题是,否定所有条件以获得正确结果的编码是否正确,例如if (!( cond's )), 而且,这是否是在 C# 和其他方面实际比较之前检查是否有要比较的值的最佳方法?某些记录中的时间可以为空(或不存在)。有什么建议吗?

最佳答案

我会否定所有这些条件并将 && 切换为 || 以便更快速地了解代码将(或不会)执行的条件。

另外(根据我的经验),您通常不会看到一个空的 if block ,其中所有代码都在 else 下。

if (tr.StartLunchDateTime == null || !currentGVR.Round_Start_Lunch || roundedStart != roundedStartL)
{
key = tr.TransactionID;
TransactionRecords[key]["Start_DateTime"] = roundedStart;
}

关于c# - 否定整个 if 语句以检查空值是否合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30336050/

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