C#中判断double[] 数组中是否包含NAN
时间: 2024-11-27 21:10:21 浏览: 5
c# 数组与集合(ArrayList)游戏开发高级使用举例
在C#中,判断`double[]`数组中是否包含`NaN`(Not a Number)值,你可以遍历数组并使用`double.IsNaN()`方法来检查每个元素。这个方法会返回`true`如果给定的是`NaN`,否则返回`false`。以下是一个示例:
```csharp
bool containsNaN(double[] array)
{
foreach (double value in array)
{
if (double.IsNaN(value))
return true;
}
return false;
}
```
如果你想要立即检测是否存在`NaN`而不遍历整个数组,可以考虑先对数组排序(虽然`NaN`通常会排在数值序列的最后,但这不是官方保证),然后直接查找第一个非`NaN`元素的位置。如果数组长度小于你预期且位置大于0,那么就说明有`NaN`。
```csharp
int firstNonNullIndex = Array.IndexOf(array, double.NaN);
if (firstNonNullIndex != -1)
{
bool hasNaN = firstNonNullIndex > 0 && array[firstNonNullIndex - 1] == double.NaN;
return hasNaN;
}
return false;
```
阅读全文