代码如下:
public static class Test
{
public static T ConvertTo<T>(this object value)
{
try
{
return (T)Convert.ChangeType(value, Type.GetTypeCode(typeof(T)));
}
catch
{
return default;
}
}
}
测试结果如下:
> "adsf".ConvertTo<string>()
"adsf"
> "123".ConvertTo<int>()
123
> "123.56".ConvertTo<float>()
123.56
> "true".ConvertTo<bool>()
true
> "true".ConvertTo<int>()
0
> "false".ConvertTo<int>()
0
> 123.ConvertTo<int>()
123
> true.ConvertTo<int>()
1
> false.ConvertTo<int>()
0