错误 CS0266:无法隐式将类型“object”转换为“int”。

8
错误 CS0266:无法隐式将类型 'object' 转换为 'int'。存在显式转换(是否缺少强制转换?)
int dd= 6000;
sqlCmdDefaultTime = new SqlCommand("myQuery", sqlCon);
sqlDefaultTime = sqlCmdDefaultTime.ExecuteReader();
while (sqlDefaultTime.Read())
{
      dd= sqlDefaultTime[1];
}

如何进行投射?

错误在于 dd= sqlDefaultTime[1]; 这一行。 - Br3x
4
进一步阅读:拆箱转换 (MSDN) - George Duckett
4个回答

21

将其简单转换为 int 类型:

dd = (int)sqlDefaultTime[1];

1

1

试试这个...

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

如果解析成功,dd 将成为一个新值。

当然,除非对象已经是 int 类型,那么你可以直接将其转换...

dd = (int)sqlDefaultTime[1];

0

Integer.parseInt();

还有一些类似TryParse和TryParseExact的方法提供了更多的功能和控制。

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

如果你能保证返回的值始终是整数,那么应该可以做到。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接