gpt4 book ai didi

c# Enumerable.Sum 方法不支持 ulong 类型

转载 作者:太空狗 更新时间:2023-10-29 18:07:19 25 4
gpt4 key购买 nike

对于 c# Enumerable.Sum<TSource> Method (IEnumerable<TSource>, Func<TSource, Int64>)不支持 ulong类型作为 Mehtonf 的返回类型,除非我将 ulong 转换为 long .

public class A
{
public ulong id {get;set;}

}




publec Class B
{
public void SomeMethod(IList<A> listOfA)
{
ulong result = listofA.Sum(A => A.Id);
}
}

编译器会抛出两个错误:

  1. enter image description here
  2. enter image description here

    除非我这样做

ulong result = (ulong)listOfA.Sum(A => (long)A.Id)

有没有不用转换就可以解决这个问题的方法?谢谢!

最佳答案

您可以改用聚合:

ulong result = listOfULongs.Aggregate((a,c) => a + c);

或者在您的特定情况下:

ulong result = listOfA.Aggregate(0UL, (a,c) => a + c.Id);

您还应该首先考虑是否真的应该使用无符号值类型。

关于c# Enumerable.Sum 方法不支持 ulong 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35612997/

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