无法将类型“System.Collection.Generic.IEnumberable<double> 隐式转换为 double”

Cannot implicity convert type 'System.Collection.Generic.IEnumberable<double> to double"

最近一直在发帖。我一直在努力解决这个问题。

我在一个方法中发送了一个 double[] 和一个 double 来计算出哪些文件是 大于第二个值。

private static double medelvärdetBeräkning(double[] temp, double eftersökt)
{
    double störreÄn = temp.Where(o => o > eftersökt);
    return störreÄn;
}

但我得到的只是 "Cannot implicity convert type 'System.Collection.Generic.IEnumberable to double""

如果有人能教我思路并提供见解而不是简单的解决方案,我将不胜感激。欣赏一下

编辑: 这显然不是全部代码。但是我要求用户输入 (eftersökt),然后我希望该方法通过文本文件和 return 所有大于 userInput 的值和列表中的 return 它们(这一切有效,只是这个方法有问题)

根据您的编辑说明 return all the values,您需要:

private static List<double> medelvärdetBeräkning(double[] temp, double eftersökt)
{
        var störreÄn = temp.Where(o => o > eftersökt).ToList();
        return störreÄn;
}

该错误消息表示您 returning 不是您所说的 returning。类型不匹配。检查您的 return 类型与您的方法签名以确定将来的问题。

Enumerable.Where 将 return 另一个 IEnumerable<T> - 所以我假设你想要

  1. Return 所有项目大于,或;
  2. Return 特定项目(第一个、最后一个、最大值等)

如果 (1) 是准确的,请更改您的方法签名:

private static IEnumerable<double> medelvärdetBeräkning ....

如果 (2) 准确更改您的方法体,例如:

private static double medelvärdetBeräkning(double[] temp, double eftersökt)
{
    double störreÄn = temp.First(o => o > eftersökt);
    return störreÄn;
}

(在此示例中,您可以使用 MinMaxLastAverage 等来代替 First,具体取决于哪个项目你想要的。)