将String转换为String时出现InvalidCastException
本文关键字:String InvalidCastException 转换 | 更新日期: 2023-09-27 18:08:30
在我正在工作的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"
我不确定我可以为你们提供什么其他信息来提供一个最小的,完整的,可验证的例子,所以如果你还需要什么,请告诉我。
编辑如下:
堆栈跟踪:
RestfulWebAPI.Controllers.OLE_FoundationsController.GetAll() Line 86 c#(指我已经提供的行)
看起来Visual Studio的堆栈跟踪以一种指向一行的方式工作,但在某些情况下,异常也可能在正上方的行上。因此,在我的例子中,InvalidCastException引用的是第86行,但CastException实际上发生在第85行。