编译器错误消息:无法将类型\'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位   有符号整数。 但是正如我提到的,即使您确实使用了正确的重载函数,由于非数字字符,您的字符串也将无法解析。     

要回复问题请先登录注册