2016-11-30 27 views
1

你好,我想獲得最後的方括號後的所有值「]」,因此可以說,下面的值都在我的列表框如何獲得在C#ListBox中的特定值

[Database]ColumnName 
[Firefox]Browser 
[Program]VisualStudio 
[SQL]SQLSERVER 

,我想看看

ColumnName 
Browser 
VisualStudio 
SQLSERVER 

我的代碼

foreach (var s in ListBox1.Items) 
{ 
    if (s.Equals("]") == true) 
    { 
     var desc = s.Equals("]"); 
     ListBox2.items.add(desc) 
    } 
} 

回答

0

可以使用splitlast

foreach (var s in ListBox1.Items) 
{ 
     var desc = s.ToString().Split("]").Last(); 
     ListBox2.Items.Add(desc); 
} 

這樣,即使你的代碼不會去錯誤沒有在你的字符串「]」

+0

是的,這就是我的感恩 –

2

您可以使用SubString與右括號的指數一起,來獲得之後會發生什麼:

foreach (var s in ListBox1.Items) 
    { 
     s = s.ToString(); 
     var desc = s.SubString(s.LastIndexOf("]") + 1); 
     ListBox2.Items.Add(desc); 
    } 
+0

沒有不工作我想,媒體鏈接 –

+0

究竟如何在不工作? – ThePerplexedOne

+0

因爲你使用的是ListBox1.items,所以你不能選擇Substring,你只能選擇tostring,gethascode,equals,gettype –

0

如果foreach循環變量數據類型爲「字符串」,則可以使用SubString。如果將變量定義爲「var」,則必須將「var」轉換爲「string」。

試試這個...

foreach (string item in listBox1.Items) 
{ 
    listBox2.Items.Add(item.Substring(item.LastIndexOf("]") + 1)); 
} 

或者

foreach (var item in listBox1.Items) 
{ 
    listBox2.Items.Add(item.ToString().Substring(item.ToString().LastIndexOf("]") + 1)); 
} 
相關問題