2012-02-03 44 views
1

我想在url上使用string.format將幾個值傳入字符串。這可能是一個簡單的錯誤,但我不能得到以下代碼工作。它甚至不建立字符串。有任何想法嗎?在vb.net中的URL的string.format

謝謝!

Public Sub getStockData() 
    Dim client As New WebClient() 
    Dim url As String 
    Dim ticker As String = "MSFT" 
    Dim lastPrice As String = "l1" 
    Dim volume As String = "v0" 
    Dim marketCap As String = "j1" 
    Dim divYield As String = "x" 
    Dim peRatio As String = "r" 
    Dim eps As String = "e" 

    url = String.Format("http://finance.yahoo.com/d/quotes.csv?s={0}&f={1}{2}{3}{4}{5}{6}", ticker, lastPrice, marketCap, divYield, peRatio, eps) 
    Dim results As String = client.DownloadString(url) 
    messagebox.show(results) 
End Sub 
+2

您是否收到錯誤訊息?是什麼讓你覺得它「不吸取字符串」? – 2012-02-03 22:52:54

+0

我設置了一個斷點並且URL沒有設置爲任何東西。 – 2012-02-03 22:53:56

+1

我看到七個參數(從0到6),只有六個傳遞給'String.Format' ... – Marco 2012-02-03 22:54:18

回答

4

您有7個值要插入(格式項{0}直通{6}),但只提供給他們的六:

url = String.Format(
    "http://finance.yahoo.com/d/quotes.csv?s={0}&f={1}{2}{3}{4}{5}{6}", 
    ticker, lastPrice, marketCap, divYield, peRatio, eps) 

「量」不使用命名變量...

編輯:使用@SpectralGhost指出的官方MS術語「格式項目」!

+2

我會這樣說,但被卡在{x}的專有名稱上。微軟的文檔將它們稱爲格式項目。 :P – UnhandledExcepSean 2012-02-03 22:57:55