将String转换为String时出现InvalidCastException

时间:2016-09-22 13:10:58

标签: c# rest sql-server-2008 model-view-controller type-conversion

在我正在开发的REST Api中处理控制器类时,我遇到了一个无法解释的错误。

API采用数据组件并从视图中获取所有数据。 视图中的一列是EngineeringName(varchar(250), null)

当我迭代数据集来构建JSONObject时,我的调试器向我显示了这个错误:

  

发生了'System.InvalidCastException'类型的异常   RestfulWebAPI.dll但未在用户代码中处理

这是它失败的一条线:

String engineerName = row["EngineerName"].ToString();

调试器的即时窗口在发生错误时向我显示,并检查值是什么:

>>> ?row["EngineerName"] 
   >>> "j bloggs"

 >>> ?row["EngineerName"].ToString() 
    >>> "j bloggs"

我不确定我能为您提供的其他信息提供Minimal, Complete, and Verifiable example所以请告诉我您是否需要其他信息。

编辑如下:

堆栈追踪:

RestfulWebAPI.dll!RestfulWebAPI.Controllers.OLE_FoundationsController.GetAll()第86行C#

(参考我已经提供的那条线)

1 个答案:

答案 0 :(得分:0)

看起来Visual Studio的堆栈跟踪工作的方式是它引用一条线,但异常也可能就在上面的线上(在某些情况下)。所以在我的情况下,InvalidCastException引用了第86行,但CastException实际上是在第85行发生的。