bool IsDig(object t) => t switch
{
short => true,
int => true,
long => true,
Int128 => true,
double => true,
float => true,
Half => true,
decimal => true,
ushort => true,
uint => true,
ulong => true,
UInt128 => true,
_ => false,
};
Console.WriteLine("--------嫡系---------");
Half h = (Half)43210.123456789;
Console.WriteLine($"{h.GetType().Name},{IsDig(h)}");
var f = 1.2f;
Console.WriteLine($"{f.GetType().Name},{IsDig(f)}");
var d = 1.2d;
Console.WriteLine($"{d.GetType().Name},{IsDig(d)}");
var dec = 1.2m;
Console.WriteLine($"{dec.GetType().Name},{IsDig(dec)}");
ushort us = 10;
Console.WriteLine($"{us.GetType().Name},{IsDig(us)}");
uint ui = 10;
Console.WriteLine($"{ui.GetType().Name},{IsDig(ui)}");
ulong ul = 10;
Console.WriteLine($"{ul.GetType().Name},{IsDig(ul)}");
UInt128 ubi = 1020232321211;
Console.WriteLine($"{ubi.GetType().Name},{IsDig(ubi)}");
short si = 10;
Console.WriteLine($"{si.GetType().Name},{IsDig(si)}");
int i = 10;
Console.WriteLine($"{i.GetType().Name},{IsDig(i)}");
long l = 10;
Console.WriteLine($"{l.GetType().Name},{IsDig(l)}");
Int128 bi = 1020232321211;
Console.WriteLine($"{bi.GetType().Name},{IsDig(bi)}");
Console.WriteLine("--------本家---------");
BigInteger bgi = 12313213213213212;
Console.WriteLine($"{bgi.GetType().Name},{IsDig(bgi)}");
Console.WriteLine("---------娘家--------");
char c = 'c';
Console.WriteLine($"{c.GetType().Name},{IsDig(c)}");
var b = (byte)1;
Console.WriteLine($"{b.GetType().Name},{IsDig(b)}");
Console.WriteLine("--------外人---------");
var t = true;
Console.WriteLine($"{t.GetType().Name},{IsDig(t)}");
var str = "abcd";
Console.WriteLine($"{str.GetType().Name},{IsDig(str)}");