c#中的(int)和convert.toint32之间的区别

2 c# programming-languages

当我将一个对象转换为int by

(int)object
Run Code Online (Sandbox Code Playgroud)

那么当对象值为0时,他会给我一个特定演员无效的错误.

当我将一个对象转换为int by

convert.toint32(object)
Run Code Online (Sandbox Code Playgroud)

然后他工作并给我0意味着施放是有效的.

我想知道两者之间有什么区别.

1. (int)object
2.convert.toint32(object)
Run Code Online (Sandbox Code Playgroud)

Dea*_*ing 12

(int)当对象实际上整数时才起作用.例如,(int) "12"将为您提供无效的强制转换异常.

Convert.ToInt32尝试将您提供的任何内容转换为整数.所以Convert.ToInt32("12")将返回12.确切地说,如果对象实现IConvertible(System.String做),那么Convert.ToInt32将调用IConvertible.ToInt32方法.