2016-11-30 5 views
1

Привет я хочу получить все значения после последней квадратной скобки «]» так что позволяет сказать следующие значения в моем ListBoxКак получить конкретное значение в 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

вы можете использовать split и last

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

Нет, что не работает я пытался что Allready –

+0

Как точно не работает? – ThePerplexedOne

+0

Поскольку вы используете Listbox1.items, вы не можете выбрать Подстроку, вы выбираете tostring, gethascode, equals, gettype –

0

Вы можете использовать SubString, если переменная типа foreach loop является «string». если вы определяете переменную как «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)); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^