C# ジェネリック関数でdouble型を比較するときで正しいやり方知りたい
intとdoubleを比較したい関数のジェネリック版なのですが
main関数のmaxとしてintもdoublenに型変換すれば9も9.0になるだけなので
このやり方で例外もでなくなったのですが、そもそもdouble同士を比較する方法はあるのでしょうか?
static int max<type,type_b>(type a , type b)
where type : IComparable
where type_b : IComparable
{
int x = a.CompareTo(b);
return x;
}
static void Main(string[] args)
{
int x = 9;
double y = 9.3;
int e = max<double,double>(x,y);
Console.WriteLine(e);
Console.ReadKey();
}