无法应用运营商&&到String和String()类型的操作数

时间:2015-05-22 06:17:36

标签: asp.net vb.net

我无法应用operator&&以下代码中的String和String()类型的操作数。任何人都知道这个问题的原因是什么?

If IsValidEmail(EmailAddress) Then
   EncodedData += "&data[]=" +
       + HttpContext.Current.Server.UrlEncode( _
                  (Convert.ToString((Convert.ToString("{""email"":""") _
                  & EmailAddresses) + """,""name"":""") & Name) + """}")
End If

1 个答案:

答案 0 :(得分:2)

如果EmailAddresses是一个数组,则必须决定如何组合那里的潜在多个值。

也许,比如:

String.Join(";",EmailAddresses)

这些地址是;分开的吗?或者,因为这是在If块内检查不同但可能相关的变量,所以您希望此引用为EmailAddress,而不是EmailAddresses

所以,要么:

EncodedData += "&data[]=" _
       & HttpContext.Current.Server.UrlEncode("{""email"":""" _
                  & String.Join(";",EmailAddresses) & """,""name"":""" _
                  & Name & """}")

或:

EncodedData += "&data[]=" _
       & HttpContext.Current.Server.UrlEncode("{""email"":""" _
                  & EmailAddress & """,""name"":""" _
                  & Name & """}")

我还删除了字符串无意义的转换(更好?)字符串以及字符串连接运算符的混合。

相关问题