gpt4 book ai didi

c# - 使用空合并运算符进行比较

转载 作者:行者123 更新时间:2023-11-30 20:07:47 25 4
gpt4 key购买 nike

给定方法:

public static bool IsDateValid(DateTime? date)
{
if (date.HasValue ? date.GetValueOrDefault() < MinDate : false)
{
return false;
}

return date.GetValueOrDefault() < MaxDate;
}

是否可以重写 if 语句,使其使用 null 合并运算符?

最佳答案

您可以将整个函数替换为

return date.GetValueOrDefault() < MaxDate && Date > MinDate;

GetValueOrDefault() 将返回一个空的 DateTime(即 DateTime.MinValue),如果它为 null,则不会 > 最大日期

你也可以明确地写:

return (date ?? DateTime.MinValue) < MaxDate && Date > MinDate;

但是,您甚至不需要:

return Date > MinDate && date < MaxDate;

可空类型提升了比较运算符,如果参数为空则返回 false。

关于c# - 使用空合并运算符进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8044567/

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