从对象中获取int值

spl*_*odg 2 c# casting

当我使用下面的代码时,感觉就像我在某个地方出错了.

object obj = 1;
int i = int.Parse(obj.ToString());
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?

Mar*_*ell 5

那么,什么是真正obj?如果它只是一个盒装int,那么只需转换为unbox:

int i = (int)obj;
Run Code Online (Sandbox Code Playgroud)

对于预定义较少的内容,您也可以尝试:

int i = Convert.ToInt32(obj);
Run Code Online (Sandbox Code Playgroud)

它将处理许多场景,并且不会string在混合中添加额外的内容.