私はあなたに挿入する特定の長さの配列を作成し、それを同時にソートする汎用メソッドを作りたかったのです。 はので、私は、ジェネリックTにint型からそれを転送して、これは、これまでのコードである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