Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么要将double值指定给double?惹麻烦_C#_Casting_Nan - Fatal编程技术网

C# 为什么要将double值指定给double?惹麻烦

C# 为什么要将double值指定给double?惹麻烦,c#,casting,nan,C#,Casting,Nan,下面是场景!(简体) 为什么val2会导致NaN?很简单:它不会也不会 将非NaNdouble分配给double?的结果是具有非NaN值的double?;在这种情况下,0.0我认为问题已经在“简化”工作中消失了。你需要添加足够的原始代码来重现这个场景。也许我的问题太简单了。在什么情况下会发生这种情况。从逻辑上讲,它永远不应该!但确实如此????实际的代码与上面列出的完全一样,只是值是传递参数值的两个类的一部分。我猜这是一个0/0问题。N/0将给出无穷大(N!=0)。您需要提供一个小而完整的代码示

下面是场景!(简体)


为什么val2会导致NaN?

很简单:它不会也不会


将非NaN
double
分配给
double?
的结果是具有非NaN值的
double?
;在这种情况下,
0.0

我认为问题已经在“简化”工作中消失了。你需要添加足够的原始代码来重现这个场景。也许我的问题太简单了。在什么情况下会发生这种情况。从逻辑上讲,它永远不应该!但确实如此????实际的代码与上面列出的完全一样,只是值是传递参数值的两个类的一部分。我猜这是一个0/0问题。N/0将给出无穷大(N!=0)。您需要提供一个小而完整的代码示例,实际演示该问题。我们很有能力自己写两个作业语句,正如@Marc指出的,结果不是你描述的结果。是的,我同意。。。但是我的场景,虽然比这个例子稍微复杂一点,基本上可以归结为这一点。无论如何,谢谢你的快速回答@JandeJager不,有些东西在“基本上”中丢失了。你需要发布一些真实再现你所看到的东西。您的原始代码与您发布的代码之间的差异就是问题所在。我将尝试复制此代码,而不必发布20000行代码。。。这可能是问题所在。我只是想找出这种情况发生的明显原因。但你会因为勇敢地回答一个愚蠢的问题而被“打勾”!德克萨斯州@简:寻找分裂。将零除以零是得到NaNThank的最简单方法。是的,问题是战争是“被零除”!
double val1 = 0.0;
double? val2 = val1;