簡體   English   中英

C#將選定的列表框項目復制到字符串中

[英]c# copy selected listbox items into a string

我在將列表框中的選定值轉換為字符串時遇到一些問題。

列表框包含多個值,我們稱它們為AZ。 基本上,我想將所選項目復制到字符串中。

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多個實例,而不是僅一個具有多個數組值的字符串。

使用String.Join從items集合構建連接字符串:

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

您總是將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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM