2015-05-22 113 views
-3

我不能將運算符& &應用於String和String()類型的操作數,其代碼如下。任何人都知道這個問題的原因是什麼?不能將運算符&&應用於String和String類型的操作數

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

你在你的代碼片段中使用了&&? '&&'用於比較而不是連接 –

+3

VB中沒有'&&'操作符。你的意思是&&(字符串連接)?如果是這樣,那麼您傳遞的變量之一可能就是一串字符串:基於名稱EmailAddresses(作爲複數形式)似乎是可能的候選者。 – Richard

+1

建議:將表達式分解爲多個語句(使用臨時變量):這會使理解變得更容易。 – Richard

回答

1

如果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 & """}") 

在哪裏我也去掉字符串的無謂轉換成(更好?)字符串,字符串連接的混合運營商。

相關問題