Ich versuche, die Werte in einer generischen Sammlung zusammenzufassen , ich habe den gleichen genauen Code verwendet, um diese Funktion in anderen Teilen meines Codes auszuführen, aber es scheint ein Problem mit dem zu haben ulong
Datentyp?
Der Code
%Vor%hat den folgenden Fehler:
%Vor%Fehler 15 Der Aufruf ist zwischen den folgenden Methoden oder Eigenschaften nicht eindeutig: '
System.Linq.Enumerable.Sum<System.Collections.Generic.KeyValuePair<int,ulong>>(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<int,ulong>>, System.Func<System.Collections.Generic.KeyValuePair<int,ulong>,float>)
' und 'System.Linq.Enumerable.Sum<System.Collections.Generic.KeyValuePair<int,ulong>>(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<int,ulong>>, System.Func<System.Collections.Generic.KeyValuePair<int,ulong>,decimal?>
)
Vereinbart mit Sum()
hat keine Überladung, die ulong
zurückgibt, und der Compiler kann nicht entscheiden, welche der Überladungen zum Aufruf vorhanden ist. Wenn Sie jedoch zu lange spielen, können Sie auf System.OverflowException: Arithmetic operation resulted in an overflow.
Stattdessen könnten Sie eine Erweiterungsmethode wie folgt erstellen:
%Vor%Auf diese Weise müssen Sie sich keine Gedanken über das Casting machen und es verwendet den nativen Datentyp addition.