gpt4 book ai didi

c# - 无法解析方法 Sum

转载 作者:太空狗 更新时间:2023-10-29 23:01:46 26 4
gpt4 key购买 nike

尝试重用 Sum 但出现此错误:

cannot resolve method Sum

我怎样才能改变我的语法

   private static void AggregatesData(User user)
{
user.TotalActiveUsers = SumToolbarsData(user.bars,(tb => tb.ActiveUsers));

user.TotalInstalls = SumToolbarsData(user.bars, (tb => tb.Installs));

user.TotalBalance = SumToolbarsData(user.bars, (tb => tb.Balance));
}

private static T SumToolbarsData<T>(List<Bar> bars, Func<Bar, T> selector)
{
return bars.Sum<T>(selector);
}

最佳答案

LINQ 不提供开箱即用的通用版本 Sum ,因为语言和运行时(dynamic 之前)不允许添加通用(<T>)值;没有INumber接口(interface),并且该语言不支持通用类型 ( + ) 上的运算符 ( <T> )。要么切换到需要 Func<T, float> 的重载, Func<T, int>等 - 或者使用 MiscUtil 确实包含通用 Sum<T> 的库实现,特别是:

public static TSource Sum<TSource>(this IEnumerable<TSource> source);
public static TValue Sum<TSource, TValue>(this IEnumerable<TSource> source,
Func<TSource,TValue> selector);

它通过解析 + 来实现运营商,并使用一些烟雾和镜子(这样它就不会慢等)。

关于c# - 无法解析方法 Sum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9273134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com