删除List <double> C#中的Infinity值

van*_*loc -3 c#

我有名字列表listDouble,任何有价值的项目是Infitity.

我想将其删除listDouble.

试过:

listDouble.RemoveAll(item => item.Equals(0.0) && item.Equals("Infinity"));

我还在result使用代码添加到List <> 之前检查:

double result;
if (result == Double.NegativeInfinity)
    result = 0;
else
    return result;
Run Code Online (Sandbox Code Playgroud)

但无法移除值=无穷大List<Double> listDouble.

Kas*_*sen 6

我认为这是一个更优雅的解决方案,只需使用 double.IsInfinity()

List<double> doubleTest = new List<double>()
{
    0,
    12233302.4,
    double.NegativeInfinity,
    double.PositiveInfinity,
    5
};

doubleTest.RemoveAll(item => double.IsInfinity(item) || item == 0);
Run Code Online (Sandbox Code Playgroud)

在评论后更新,说明他也想删除该值0.

  • 或者只是`doubleTest.RemoveAll(double.IsInfinity)`. (2认同)