C# 如何检查double数组是否包含c中的某个double#

C# 如何检查double数组是否包含c中的某个double#,c#,double,C#,Double,我现在正在使用这个代码 double[] LocationsDown = { 40, 85, 130, 175, 220, 265, 310, 355 }; double[] LocationsUp = { 50, 95, 140, 185, 230, 275, 320, 5 }; double curretangle = Math.Round(targetAngle); if (LocationsDown == curretan

我现在正在使用这个代码

        double[] LocationsDown = { 40, 85, 130, 175, 220, 265, 310, 355 };
        double[] LocationsUp = { 50, 95, 140, 185, 230, 275, 320, 5 };
        double curretangle = Math.Round(targetAngle);

        if (LocationsDown == curretangle) // <- Compile Time Error here
        {
            //thing
        }
double[]LocationsDown={40,85,130,175,220,265,310,355};
双[]位置sup={50,95,140,185,230,275,320,5};
双电流角=数学圆(目标角);
如果(LocationsDown==currentangle)//使用:

一般情况下,我们必须将
double
值与一些
公差进行比较:

 if (Math.Abs(someValue - valueToCheck) <= tolerance) {...}

if(Math.Abs(someValue-valueToCheck)Math.Abs(item-currentangle)在处理浮点时,我们经常与容差进行比较,例如
bool contains=LocationsDown.Any(item=>Math.Abs(item-valueToFind)
感谢您回答我的问题,我相信使用这种方法会有一些好处,但因为它使用起来更简单。contains和它只是为空间工程师编写的脚本。我认为如果它有点不合适,那也没什么大不了的。非常感谢您。
 if (Math.Abs(someValue - valueToCheck) <= tolerance) {...}
 using System.Linq;

 ...

 double tolerance = 1e-6; 

 bool contains = LocationsDown.Any(item => Math.Abs(item - curretangle) <= tolerance);