2012-01-17 148 views
3

错误CS0266:不能将类型'object'隐式转换为'int'。一个 显式转换存在(是否缺少强制转换?)错误CS0266:无法将类型'object'隐式转换为'int'

int dd= 6000; 
sqlCmdDefaultTime = new SqlCommand("myQuery", sqlCon); 
sqlDefaultTime = sqlCmdDefaultTime.ExecuteReader(); 
while (sqlDefaultTime.Read()) 
{ 
     dd= sqlDefaultTime[1]; 
} 

我怎么能投

+0

错误在行dd = sqlDefaultTime [1];' – Br3x 2012-01-17 12:57:40

+4

进一步阅读:[取消装箱转换(MSDN)](http://msdn.microsoft.com/en-us/库/ b95fkada(V = VS.80)的.aspx) – 2012-01-17 13:01:13

回答

11

简单投给int

dd = (int)sqlDefaultTime[1]; 
0

的Integer.parseInt();

其他一些如TryParse和TryParseExact提供更多的功能和控制。

dd= Integer.parseInt(sqlDefaultTime[1]); 

应该这样做,前提是您可以保证返回的值始终为int。

1

尝试......

int.TryParse(sqlDefaultTime[1].ToString(), out dd); 
事件

的分析是成功dd现在将是一个新的价值。

当然,除非对象是一个int不已,你可以只投它...

dd = (int)sqlDefaultTime[1]; 
相关问题