如何解决编译器错误消息:无法将类型\'long\'隐式转换为\'string\'
|| 我在convert依中有问题。这次转换有什么问题吗? 这是错误: 编译错误说明: 编译期间发生错误 服务于此的资源 请求。请查看以下内容 具体的错误详细信息并修改您的 源代码适当。 编译器错误消息:CS0029:无法 隐式地将类型'long \'转换为 \'串\'if (hid_Action.Value.ToString().toupper() == \"RENEW\")
{
string strHFUpdate = string.Empty;
string srt = Convert.ToInt64(Session[\"AppId\"] + \",\'\" + Session[\"CAAID\"].ToString() + \"\',\'\" + Session[\"UserType\"].ToString() + \"\'\");
strHFUpdate = \"oea_sp_update_HF_MC_renewal_Status \" + srt;
rProxy.GlobalSaveData(Session[\"CountyName\"].ToString().Trim(),strHFUpdate.ToString());
}
感谢您的帮助!
解决方法
string srt = Convert.ToInt64(...);
是的,那行不通。很难猜测这里的意图,也许是缺少括号。
, 这是问题所在
string srt = Convert.ToInt64
您试图将long
值分配给string
。你不能。您必须使用.ToString()
将其更改为字符串,然后才能进行分配。
还有一个错误,Convert.ToInt64
不会将数字转换为浮点数,这意味着1.1
将引发异常。您尝试转换的字符串完全无效,它应该怎么做?
, 您不能将带有逗号和单引号的字符串转换为数字,此外,两个ToInt64()重载都采用第二个参数:
上面的代码试图将字符串隐式转换为ToInt64()可以使用单个参数进行重载的另一种数据类型。 ToInt64()确实支持从字符串转换,但是这两个重载都带有两个参数(请参见下文)
[来自MSDN:http://msdn.microsoft.com/en-us/library/system.convert.toint64.aspx]
ToInt64(String,
IFormatProvider)转换
指定的字符串表示形式
数字到等效的64位带符号
整数,使用指定的
特定于文化的格式
信息。
ToInt64(String,Int32)转换
一个数字的字符串表示形式
指定基数为等效的64位
有符号整数。
但是正如我提到的,即使您确实使用了正确的重载函数,由于非数字字符,您的字符串也将无法解析。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。