Так что я хотел создать общий метод, который сделает массив массивной длины, в которую вы вставляете, и сортирует ее одновременно. так я был перенося его от ИНТ к родовым T и я наткнулся на проблему, пытаясь сравнить 2 переменные Т. это код до сих пор:Сравнение общих значений
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication7
{
class Program
{
public static T[] insertWhileSorting<T>(int x)
{
T[] arr = new T[x];
for (int i = 0, k; i < arr.Length; i++)
{
T value = (T)Convert.ChangeType(Console.ReadLine(), typeof(T));
for (k = i; k > 0 && value.CompareTo(arr[k - 1]) < 0; --k) arr[k] = arr[k - 1];
arr[k] = value;
}
return arr;
}
static void Main(string[] args)
{
int[] arr = insertWhileSorting<int>(5);
Console.WriteLine(string.Join(", ", arr));
}
}
}
и да я знаю (я думаю), что просто вставляя значения в массив, а затем сортируя их лучше, но я делаю это для назначения
А * это * проблема, с которой вы сталкиваетесь? – HimBromBeere
Вам нужно либо добавить ограничение, чтобы убедиться, что 'T' реализует' IComparable' или передать в 'IComparer '. –
juharr