Đối với C# Enumerable.Sum<TSource> Method (IEnumerable<TSource>, Func<TSource, Int64>)
không hỗ trợ ulong
nhập làm loại trả về của Mehtonf trừ khi tôi chuyển ulong thành long
.C# Enumerable.Sum Phương pháp không hỗ trợ loại ulong
public class A
{
public ulong id {get;set;}
}
publec Class B
{
public void SomeMethod(IList<A> listOfA)
{
ulong result = listofA.Sum(A => A.Id);
}
}
Các compliler sẽ ném hai lỗi:
ulong result = (ulong)listOfA.Sum(A => (long)A.Id)
Có cách nào để giải quyết điều đó mà không cần truyền? Cảm ơn!
Cảm ơn, điều đó dường như là một cách tốt đẹp của việc giải quyết vấn đề. Lý do tôi đang sử dụng 'ulong' là bởi vì một Id không thể là tiêu cực. Bạn có nghĩ rằng tôi thực sự nên sử dụng 'long' thay thế? –
@ Z.Z. - Nếu bạn không giao dịch với số âm và kết quả của tổng của bạn vượt quá '9,223,372,036,854,775,807', nhưng không vượt quá' 18,446,744,073,709,551,615' thì 'ulong' là một ý tưởng hay. Nếu không 'long' là một lựa chọn hoàn hảo. – Enigmativity