2013-07-21 21 views
2

我有一些問題,從列表框中獲取選定的值到一個字符串。c#將選定的列表框項目複製到一個字符串

列表框包含多個值,我們稱它們爲A-Z。基本上,我想將選定的項目複製到一個字符串中。

var listarray = new System.Collections.ArrayList(listboxName.SelectedItems); 

string myval = ""; 

foreach (var arr in listarray) 
{ 
    myval = dep.ToString(); 
    Console.WriteLine(myval); // this shows all the selected values 
} 

string finalStr = "some text before the values" + myval; 
Console.WriteLine(finalStr); 

我希望字符串顯示「的值A之前一些文本,B,C,d ...」,而是它輸出「的價值觀之前的一些文字A」

最後Console.WriteLine只顯示一個值,而不是所有選定的值。我試過在foreach循環內添加finalStr,但是這會創建finalStr的多個實例,而不是隻有一個具有多個數組值的字符串。

回答

5

使用String.Join建立從項目集合連接字符串:

string finalStr = "Some text before the values " + 
      String.Join(", ", listboxName.SelectedItems.Cast<YourItemType>()); 
0

你一直設置到設爲myVal的dep.ToString當前值 - 你應該串聯(我認爲你的意思ARR不DEP):

myval += arr.ToString() + ", "; 

應對逗號最簡單的方法是創建其他列表並使用的string.join:

var selected = new List<string>(); 
foreach (var arr in listboxName.SelectedItems) 
{ 
    selected.Add(arr.ToString());  
} 

string finalStr = "some text before the values" + String.Join(", ", selected); 
相關問題