2017-02-07 2 views
0

Ok IV попытался все, что я не могу получить эту работу его не показывает мне ничего:Использование LastIndexOf и удаление в C# для путаницы базы данных

 foreach (DataRow dr in dt.Rows) 
     { 
      keyNameTextBox.Text = dr["KeyName"].ToString().Remove(keyNameTextBox.Text.LastIndexOf("_") + 1); ; 

      keyTextBox.Text = dr["Key"].ToString(); 

     } 

, если я меняю после .remove (0 тогда дает мне результат, который это хорошо, но только все после _

но моя цель состоит в том, чтобы увидеть все перед _ исключением _

Iv видел переполнение стека сообщения, которые помогли мне узнать о IndexOf и удалить, но по какой-то причине, как не работаю для меня, потому что им для каждого ? как бы я обошел это? любая помощь была бы потрясающей!

Источника я использовал: Remove characters after specific character in string, then remove substring?

ответ

1

Здесь

dr["KeyName"].ToString().Remove(keyNameTextBox.Text.LastIndexOf("_") + 1); 

поиск в одной строке (keyNameTextBox.Text) и удалить из других (dr["KeyName"].ToString()).

Что вам действительно нужно что-то вроде этого:

var keyName = dr["KeyName"].ToString(); 
keyNameTextBox.Text = keyName.Remove(keyName.LastIndexOf("_") + 1); 
+0

Awesome! Спасибо, что работали как шарм. В ключевом ключе всегда будет _ _, потому что я убедился, когда пользователь добавляет ключ, а затем ключ моего кода ставит _ в конце с их именем пользователя, чтобы сделать его уникальным, поэтому он не появляется дубликат в моей БД. – Tantrix1

+0

Хорошо, я удалю эту часть :) –

+0

вместо того, чтобы делать еще одно сообщение о моей коробке со списком? это то же самое, потому что я пытаюсь: var keyName = dr ["KeyName"]. ToString(); keyComboBox.Text = keyName.Remove (keyName.LastIndexOf ("_")); в основном то же самое, что и решение выше, но ничего не происходит. – Tantrix1

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