我正在查看 BigInteger 的文档,并在方法中遇到了以下内容BigInteger.Equals(Object obj)
:
如果 obj 参数不是 BigInteger 值,而是定义了隐式转换的数据类型,则 Equals(Object) 方法在执行比较之前将 obj 转换为 BigInteger 值。
然后我开始想知道我将如何去做,因为从对象转换需要显式转换。我想出的最好方法如下:
Type type = obj.GetType()
if(type == typeof(byte))
{
byte b = (byte)obj;
return Equals(b);
}
if(type == typeof(short))
{
short s = (short)obj;
return Equals(s);
}
//Continue for all types that can be implicitly cast to BigInteger.
在我看来,我缺少一种更简单的方法来做到这一点。那么,考虑到我从一个对象开始,还有哪些其他方法可以进行隐式转换?