Как я могу преобразовать значение - listViewRecs.SelectedItems [0] .SubItems [0] - в целое число? - C # .NET - PullRequest
0 голосов
/ 23 мая 2010
int val = lstvRecordsCus.SelectedItems[0].SubItems[0];

Возвращаемое значение представляет собой int в строковом типе данных. Мне нужна правая часть, чтобы вернуть значение в int вместо строки.

Я пробовал Convert.ToInt32, он не работал. Есть идеи?

Все значения из SelectedItems [0] .SubItems [0] имеют тип int.

Ответы [ 2 ]

7 голосов
/ 23 мая 2010

На самом деле lstvRecordsCus.SelectedItems [0] .SubItems [0] не возвращает строку, он возвращает ListViewSubItem объект, который имеет свойство .Text, которое можно преобразовать в целое число.

int val = Int32.Parse(lstvRecordsCus.SelectedItems[0].SubItems[0].Text);

Причина, по которой он, вероятно, отображался в виде строки, если вы просматривали его в отладчике, заключается в том, что ListViewSubItem переопределяет метод ToString, который отладчик будет использовать для представления объекта в окне просмотра или информационных подсказках.

0 голосов
/ 17 марта 2016

Используйте TryParse для предотвращения ошибки:

int val = 0;
int.TryParse(lstvRecordsCus.SelectedItems[0].SubItems[0].Text, out val);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...