还有其他更短/更有效的方法来检查它是否是我的ListBox中的最后一项?这里的主要目标基本上是将所选项添加到标签中,并在每一个之后添加一个逗号,但最后一个.有什么建议?
int sc = 0;
List<string> interestitems = new List<string>();
foreach (ListItem siitem in ListBox1.Items)
{
if (siitem.Selected == true)
{
interestitems.Add(siitem.Value.ToString());
}
}
foreach (string inteitem in interestitems)
{
Label1.Text += inteitem;
sc++;
if (sc < interestitems.Count)
{
Label1.Text += ",";
}
}
Run Code Online (Sandbox Code Playgroud)
dig*_*All 11
而不是你的第二个循环只使用:
Label1.Text = string.Join("," , interestitems);
Run Code Online (Sandbox Code Playgroud)
PS
如果你使用.net 3.5,你需要传递一个字符串数组string.Join(),然后:
Label1.Text = string.Join("," , interestitems.ToArray());
Run Code Online (Sandbox Code Playgroud)
编辑:
如果你想完全避免循环,只需:
var selItems = ListBox1.Items.Cast<ListItem>()
.Where(item => item.Selected)
.Select(item => item.ToString());
Label1.Text = string.Join("," , selItems);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
400 次 |
| 最近记录: |