gpt4 book ai didi

c# - 如何在C#中检查double值是否为null?

转载 作者:行者123 更新时间:2023-12-02 06:46:21 27 4
gpt4 key购买 nike

我有一个Test方法,它接受x作为可选参数。 X可以接受正,负和零值。
我需要检查double是否为null,然后打印x的值,否则,如果double值为null,则打印其null。
由于double的默认值为0,并且double不能分配为null,所以我该怎么做?

public static void Test([Optional] double x)
{
//if x is not null print value of x

//else print x is null
}
static void main()
{
Test();-output expected x is null
Test(5);-output expected x is 5
Test(0);--output expected x is 0
Test(-1);-output expected x is -1
}

最佳答案

[Optional]并不意味着如果您的arg不存在,它将自动变成null。相反,它是一个指示符,表示如果未提供参数,则应获取其默认 -value,对于double不是null而是0double不能是null,除非您表示Nullable<double>double?(这是同义词) )。因此,在您的情况下,这两个调用是完全相同的:

Test();
Test(0);

如果要区分传递的arg和零,则应该使用 Nullable<double>:
public static void Test([Optional] double? x)
{
if(x == null)
{
Console.WriteLine("null");
}
else
{
Console.WriteLine("" + x);
}
}

现在,您可以像 Test这样调用它,它将评估为 Test(null)

关于c# - 如何在C#中检查double值是否为null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60522992/

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