【问题标题】:C# Splitting listbox selected item and putting it on labelC#拆分列表框选定项并将其放在标签上
【发布时间】:2015-03-05 03:30:36
【问题描述】:

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

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

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

    不知道如何让它说出我从中拆分出来的ListBoxItem

【问题讨论】:

  • 列表中的项目不是string类型的吗?
  • 你想得到什么结果?例如从“1|test”你想得到什么?

标签: c# split listbox label listboxitem


【解决方案1】:
string value = "07|00"
string[] result = value.Split('|');

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

【讨论】:

    【解决方案2】:

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

    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();
    

    【讨论】:

      【解决方案3】:

      我认为当你可以使用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);
      }
      

      【讨论】:

        猜你喜欢
        • 2019-06-12
        • 2013-06-17
        • 2011-10-10
        • 1970-01-01
        • 1970-01-01
        • 2012-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多