2015-09-21 49 views
-2

任何人都可以推薦一種更好的方式來將字符串連接在一起。不同的方式字符串加入

我有2只列出了我這樣的拼接:

textBox1.Text = String.Join(Environment.NewLine, changesWithValues); 

但是我得到了數據已經得到了在這一點應該是有。

我在此位的所有代碼如下這樣:

private void converToText(Dictionary<string, int> dictionaryList) 
    { 
     List<KeyValuePair<string, int>> changesWithValues = dictionaryList.ToList(); 

     display(changesWithValues); 
    } 

    private void display(List<KeyValuePair<string, int>> changesWithValues) 
    { 
     textBox1.Text = String.Join(Environment.NewLine, changesWithValues); 
    } 

    private void Show_Click(object sender, System.EventArgs e) 
    { 
     converToText(_dictionary); 
    } 
+0

「我得到的數據已經存在了,應該在那裏。」 ,你能給出一個具體的例子,包括輸入和輸出,以及預期的輸出嗎?此外,這看起來像Java,不要忘記標記爲 – Joeblade

+1

*然而,我得到的數據已經有點應該在那裏。*請更好地解釋這句話。不知道這意味着什麼。 –

+0

當我得到數據時,它看起來像這樣:[/ Tax Marker Ripper v1/Help_Document.docx,2]方括號[]和逗號應該在那裏我不知道他們來自哪裏 –

回答

3

您需要將KeyValuePairKeyValue組合成你想要的格式,例如:

textBox1.Text = String.Join(Environment.NewLine, changesWithValues.Select(kvp => string.Format("{0} {1}", kvp.Key, kvp.Value))); 
0

您還沒有加入字符串但KeyValuePair實例。因此,您實際上正在使用string.Join方法的重載,該方法將一組對象而不是一組字符串作爲輸入,它首先將ToString()應用於這些實例;這會爲您提供包含鍵和值對的字符串(請參閱the method reference)。

我想你需要concatenate只是對的關鍵。在這種情況下,這是你所需要的:

textBox1.Text = String.Join(Environment.NewLine, changesWithValues.Select(x => x.Key)); 
+0

從此行輸出的結果是/ Tax Marker Ripper v1/Help_Document.docx該數字表示每個路徑有多少個條目。這條線切斷了數值 –