无法隐式将类型“System.Collection.Generic.IEnumberable转换为dou

本文关键字:double IEnumberable 转换 dou Generic Collection 类型 System | 更新日期: 2023-09-27 18:36:22

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

我正在方法中发送一个双精度[]和一个双精度,以便计算出谁是大于第二个值。

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;
}

但我得到的只是"无法隐式转换类型'System.Collection.Generic.IEnumberable'为双倍"

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

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

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

根据你对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;
}

该错误消息表示您的退货不是您所说的要返回的内容。 存在类型不匹配。 检查返回类型与方法签名,以确定将来的问题。

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

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

如果 (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,具体取决于所需的特定项目。