我可以在C#中为Sum创建一个通用方法

Ras*_*far 3 c# generics

可能重复:
泛型 - 其中T是数字?

我创建了一个最大化的通用方法,我使用了IComparable接口

有谁知道如何为Sum创建一个通用方法?哪种接口在此方法中有用?

这是我的GetMax代码:

public static T GetMax<T>(T[] array) where T : IComparable
    {
        T min = array[0];

        foreach (T item in array)
        {
            if (min.CompareTo(item) < 0)
            {
                min = item;
            }
        }
        return min;
    }
Run Code Online (Sandbox Code Playgroud)

bur*_*ION 6

此操作已存在 Linq.Sum()

var sum = new List<int>{1,2,3}.Sum();
Run Code Online (Sandbox Code Playgroud)

  • 请注意,LINQ为不同类型提供了多个`Sum`重载.如果你有一个IEnumerable <T>并且不知道T(因为该方法是通用的),那么你就不能使用这个方法. (3认同)