Операция '>' в универсальном типе - C#
Формулировка задачи:
Привет, всем.
Пишу класс матриц. Пытаюсь реализовать метод получения максимального элемента.
Он нужен в тех случаях, когда Т - это числовой тип (я так понял, он должен наследоваться от ValueType).
Есть ли способ проверять тип Т на числовой и, затем, сравнивать его объекты?
public T MaxElement ()
{
T max = matrix[0, 0];
foreach (T x in matrix)
{
if (x > max) // тут, естественно, ошибка
{
max = x;
}
}
}Решение задачи: «Операция '>' в универсальном типе»
textual
Листинг программы
class Matrix<T> where T : IComparable<T>
{
// ...
public T MaxElement ()
{
T max = matrix[0, 0];
foreach (T x in matrix)
{
if (x.CompareTo(max) > 0)
{
max = x;
}
}
return max;
}
// ...
}