我在C#中有一个类,我想实现方法来在泛型数组中执行操作。例如,我想从一个通用数组中获取最大的组件值。就我而言,这将是足够的考虑只是数值类型(int,长,双...)使用比较的泛型
public class NumericCalculation<T> where T : IComparable<T>
{
public static T getMax (T[] array)
{
T maxValue = default(T);
if (array.Length > 0) {
maxValue = array[0];
for (int i = 0; i < array.Length; i++) {
if (array[i] > maxValue)
{
maxValue = array[i];
}
}
}
return maxValue;
}
}
但这返回错误: “错误2操作‘>’不能应用于操作数类型'T'和'T'“
是否有我正在跳过的界面?有可能做这种泛型数组的通用方法?
谢谢!
这是C#的一个已知缺点;它是一个经常被要求的功能,能够将泛型限制为提供某些操作符的类型。 –