C# 如何将int转换为int?
我发现以下编译错误: 无法将类型“int”隐式转换为“SVSFinAP.Databases.FMSExpenseCode” 其中C# 如何将int转换为int?,c#,asp.net,C#,Asp.net,我发现以下编译错误: 无法将类型“int”隐式转换为“SVSFinAP.Databases.FMSExpenseCode” 其中SVSFinAP.Databases.fmspensecode定义为int? 这是我的代码: ol.FMSExpenseCode = (int)rowOrderLine.OrderLineExpenseCodeID; 假设它是枚举,也许您需要强制转换 ol.FMSExpenseCode = (FMSExpenseCode)rowOrderLine.OrderLineE
SVSFinAP.Databases.fmspensecode
定义为int?
这是我的代码:
ol.FMSExpenseCode = (int)rowOrderLine.OrderLineExpenseCodeID;
假设它是枚举,也许您需要强制转换
ol.FMSExpenseCode = (FMSExpenseCode)rowOrderLine.OrderLineExpenseCodeID;
“SVSFinAP.Databases.fmspensecode”您确定ol.fmspensecode是整数吗? 异常消息表示它是一个
SVSFinAP.Databases.fmspensecode
类型
检查您的工作类型,如
ol.fmspensecode
,rowOrderLine.OrderLineExpenseCodeID
,并转换为正确的类型。它不是整数。它是如何“定义为int”的。你能给我们看一下吗?你确定ol.fmspenseCode
是整数吗?异常消息表示它是一个的svinap.Databases.fmspensecode
类型。如果您是指int?,则可能是的副本FmExpenseCode
很可能是一个枚举,而不是int…OrderLineExpenseCodeID的类型是什么?这不太可能起作用;从int
到该类型,需要有一个用户定义的显式运算符。很可能这会让编译器感到高兴,并在运行时抛出一个异常?应该没问题吧?你怎么知道它是枚举?你有一个类型名,没有别的。我说“假设它是一个枚举”,你的假设依据是什么?错误是将int
转换为fmspenseCode
,而不是相反。
ol.FMSExpenseCode = Convert.ToInt32(rowOrderLine.OrderLineExpenseCodeID);