Обобщенный метод сортировки массива - C#
Формулировка задачи:
Что-то не пойму, в чем проблема. Точнее, вижу, что мне пишет VS, но не пойму, что делаю не так. Нужно, чтобы метод сортировки принимал массив типа <T> и возвращал тоже типа <T>. Ошибку указал напротив той строчки, где она высвечивается. Вот код сортировки:
Можно ли как-то создать подобный метод?
public static T[] BubbleSort<T>(T[] a)
{
for (int i = 0; i < a.Length; i++)
{
for (int j = i + 1; j < a.Length; j++)
{
if (a[j] < a[i]) //Operator '<' cannot be applied to operands of type 'T' and 'T'
{
var temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return a;
}Решение задачи: «Обобщенный метод сортировки массива»
textual
Листинг программы
public static void BubbleSort<T>(T[] a) where T : IComparable<T>
{
for (int i = 0; i < a.Length; i++)
{
for (int j = i + 1; j < a.Length; j++)
{
if (a[j].CompareTo(a[i]) < 0)
{
var temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}