所以我想做一個通用的方法,讓你插入一個特定長度的數組,並在同一時間對它進行排序。 所以我從int到普通的牛逼transfering它,我無意中發現了一個問題,而試圖比較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