首页 > 解决方案 > 如何将具有相同逻辑的两个方法组合成一个泛型方法

问题描述

我有两种方法:

        static int SumInt(List<string> list)
        {
            return list.Select(o => int.Parse(o)).Sum();
        }

        static float SumFloat(List<string> list)
        {
            return list.Select(o => float.Parse(o)).Sum();
        }

我怎样才能得到一个泛型方法,例如static T Sum<T>(List<string> list) where T:struct{}, 或返回 ValueType 的方法:static ValueType Sum(List<string> list){} 关键不是如何转换,而是如何对结构或 ValueType 求和。

标签: c#genericsrefactoring

解决方案


推荐阅读