关于c#:错误CS0266:无法将类型’object’隐式转换为’int’

error CS0266: Cannot implicitly convert type 'object' to 'int'

error CS0266: Cannot implicitly convert type 'object' to 'int'. An
explicit conversion exists (are you missing a cast?)

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

我如何铸造


简单铸造至int

1
dd = (int)sqlDefaultTime[1];

尝试使用sqldatareader的getxxx方法,而不是索引器:

1
dd = sqlDefaultTime.GetInt32(1);

这里有更多getxxx方法:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx


试试这个…

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

如果解析成功,那么dd现在将是一个新值。

当然,除非对象已经是一个int,否则您可以将其强制转换为……

1
dd = (int)sqlDefaultTime[1];

integer.parseInt();

一些其他的,如胰蛋白酶和胰蛋白酶,提供更多的功能和控制。

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

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