Попробуйте перебрать несколько значений - PullRequest
0 голосов
/ 14 февраля 2012

Я использовал

 int.TryParse(_dtPOSettings.Rows[0]["PASID"].ToString(), out categoryID);

чтобы получить строковое значение, преобразованное в int. Это работает нормально, когда значение PASID является одним значением. Теперь я храню несколько значений в базе данных в виде разделенного ',' списка. Когда я получаю их обратно, я разделяю их и сохраняю в массив строк. Теперь я хочу, чтобы int.TryParse взял значения строкового массива, преобразовал их в значения int и поместил их обратно в типизированный список int. Но выходной параметр не поддерживает это. Пожалуйста, предложите, как это кодировать.

int.TryParse(PASIDValues[i].ToString(), out PASIDintValues[i]);

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 14 февраля 2012

Просто объявите переменную для временного хранения значения и, если анализ выполнен успешно, присвойте значение индексу массива

int temp = 0;

if(int.TryParse(PASIDValues[i].ToString(), out temp))
    PASIDintValues[i] = temp;
1 голос
/ 14 февраля 2012

Обязательно создайте экземпляр полной длины значений, которые вы планируете сохранить в результате преобразования, и используйте временную переменную, чтобы получить значение из int.TryParse.

int[] PASIDintValues = new int[PASIDValues.Count()];
for(int i = 0; i < PASIDValues.Count() - 1; i ++)
{
    int tmp = 0;
    if(int.TryParse(PASIDValues[i].ToString(), out tmp))
        results[i] = tmp;
}
0 голосов
/ 14 февраля 2012

Вы не можете сделать ссылку на элемент List, но вы можете сделать ссылку на элемент массива. Просто создайте PASIDintValues массив вместо списка, и он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...