C# 无效的强制转换异常-强制转换无效
这是我网站上的错误。VisualStudio中没有错误,它编译得很好。当我在本地运行网站并单击按钮以在Chrome或任何其他浏览器中显示区域时,就会发生这种情况。我完全被这件事难住了,我正在寻求任何帮助??非常感谢C# 无效的强制转换异常-强制转换无效,c#,C#,这是我网站上的错误。VisualStudio中没有错误,它编译得很好。当我在本地运行网站并单击按钮以在Chrome或任何其他浏览器中显示区域时,就会发生这种情况。我完全被这件事难住了,我正在寻求任何帮助??非常感谢 System.InvalidCastException: Specified cast is not valid. at MySite.Web.Areas.Mpa.Controllers.ZonesController.d__7.MoveNext() in C:\MySite\Dev
System.InvalidCastException: Specified cast is not valid.
at MySite.Web.Areas.Mpa.Controllers.ZonesController.d__7.MoveNext() in C:\MySite\Development\routing_branch\src\MySite.Web\Areas\Mpa\Controllers\ZonesController.cs:line 125
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.b__36(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()
您不能将
对象
直接强制转换为long
。您应该使用甚至可以强制转换对象值的Convert.ToInt64()
:
string tenantCoordinates = await tenantSettingsAppService.GetTenantCoordinates(Convert.ToInt64(obj));
附言:为什么不将“obj”声明为long
(并相应地更改名称:):
EDIT更新@Jonno提到的错误库调用,只要
obj
是对int
的引用,您可以在转换为long
之前尝试显式转换为int
:。GetTenantCoordinates((long)(int)obj)
不过,我认为您可以将
obj
声明为int
或long
没有Convert.ToLong()
-您的意思可能是Convert.ToInt64()
-非常感谢!完全是这样。我有一些依赖于名称的其他代码,因此(Convert.ToInt64(obj));这就是答案!再次感谢!
dbo.MySiteZones
Columns:
Id (PK, bigint, not null)
TenantId (int, not null)
Name (nvarchar(255), not null)
Caption (nvarchar(600), null)
IsActive (bit, not null)
IsDeleted (bit, not null)
DeleterUserId (bigint, null)
DeletionTime (datetime, null)
LastModificationTime (datetime, null)
LastModifierUserId (bigint, null)
CreationTime (datetime, not null)
CreatorUserId (bigint, null)
PolygonCoordinates (nvarchar(max), null)
HexColor (nvarchar(12), null)
PolygonCoordinatesReversed (nvarchar(max), null)
string tenantCoordinates = await tenantSettingsAppService.GetTenantCoordinates(Convert.ToInt64(obj));
long obj;
// ...
string tenantCoordinates = await tenantSettingsAppService.GetTenantCoordinates(obj);