当前位置: 代码迷 >> ASP.NET >> 请高手帮忙解决:CS0029: 无法将类型“string”隐式转换为“int”,该怎么解决
  详细解决方案

请高手帮忙解决:CS0029: 无法将类型“string”隐式转换为“int”,该怎么解决

热度:797   发布时间:2013-02-25 00:00:00.0
请高手帮忙解决:CS0029: 无法将类型“string”隐式转换为“int”
源错误:

 

行 70: tnSecond.Text = rowS["SAT_Name"].ToString();
行 71: tnSecond.Value = rowS["SAT_ID"].ToString();
行 72: if (rowSecond["SAT_ParentID"].ToString() == rowFirst["SAT_ID"].ToString())
行 73: {
行 74: tnFirst.ChildNodes.Add(tnSecond);
 

源文件: e:\n\3CMarket\telattApply.aspx.cs 行: 72

------解决方案--------------------------------------------------------
Convert.ToInt32(rowSecond["SAT_ParentID"].ToString())
------解决方案--------------------------------------------------------
int.parse
------解决方案--------------------------------------------------------
rowSecond["SAT_ParentID"].ToString() 
无法将类型“string”隐式转换为“int”?怎么会出现这种错误?==rowFirst这个是int吗?
------解决方案--------------------------------------------------------
C# code
Convert.ToString(rowSecond["SAT_ParentID"])==Convert.ToString(rowFirst["SAT_ID"])
------解决方案--------------------------------------------------------
Convert.ToInt32(rowSecond["SAT_ParentID"]) == Convert.ToInt32(rowFirst["SAT_ID"].ToString())
------解决方案--------------------------------------------------------
LZ可跟踪调试一下看其中的值,在运行时是什么
------解决方案--------------------------------------------------------
曾遇到过。
后来干脆先转double然后转INT。
------解决方案--------------------------------------------------------
rowSecond["SAT_ParentID"].ToString()值是什么?
rowFirst["SAT_ID"].ToString()) 值又是什么?

然后你就知道该怎么做了
------解决方案--------------------------------------------------------
rowSecond这个是什么?有可能他的索引只能是数字rowSecond[1]
------解决方案--------------------------------------------------------
这样就可以啦,例如:
string str="1234";
int i=Int16.Parse(str);

这样就可以啦!如果你的string并不是数字的话,那么中间的异常之类的处理就另当别论啦!

------解决方案--------------------------------------------------------
要看string的值是否益出了int的范围
  相关解决方案