C#拆分列表框选中的项目并将其放在标签上

时间:2015-03-05 03:30:36

标签: c# split listbox label listboxitem

我想拆分选定的ListBoxItem,但它返回的只是System.String[]
在列表框中:

  • 1 | test
  • 2 | test
  • 3 |测试

    private void lb_FRIENDS_SelectedIndexChanged(object sender, EventArgs e)
    {
       string[] text = lb_FRIENDS.SelectedItem.ToString().Split('|').ToString();
       label1.Text = text.ToString();
    }
    

    不确定如何让它说出我从

  • 拆分的ListBoxItem

3 个答案:

答案 0 :(得分:0)

string value = "07|00"
string[] result = value.Split('|');

Console.WriteLine(result[0]); //will output 07
Console.WriteLine(result[1]); //will output 00

答案 1 :(得分:0)

首先你用" |"并设置为字符串数组,而不是设置为标签 你可以这样做:

private void lb_FRIENDS_SelectedIndexChanged(object sender, EventArgs e)
{
    //Also your sender is selected item here you can cast it like in code below    
    //string[] text=(sender as ListBoxItem).ToString().Split('|');

    string[] text = lb_FRIENDS.SelectedItem.ToString().Split('|');
    label1.Text = text[0].ToString();
    label2.Text = text[1].ToString();
}

在您的问题中,您将String设置为

下面一行的String []
 string[] text = lb_FRIENDS.SelectedItem.ToString().Split('|').ToString();

这里将是您只能设置的错误

 string text = lb_FRIENDS.SelectedItem.ToString().Split('|').ToString();

答案 2 :(得分:0)

我认为,当您可以使用Substring方法获取字符串时,不需要将字符串拆分为数组。

private void lb_FRIENDS_SelectedIndexChanged(object sender, EventArgs e)
{
   string srtItem = lb_FRIENDS.SelectedItem.ToString();
   label1.Text = strItem.Substring(0, strItem.IndexOf("|"));
   label2.Text = strItem.Substring(strItem.IndexOf("|")+1);
}