我在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#的一個已知缺點;它是一個經常被要求的功能,能夠將泛型限制爲提供某些操作符的類型。 –