Ошибка:Индекс за пределами диапазона

Sanekk

Client
Регистрация
24.06.2016
Сообщения
999
Благодарностей
390
Баллы
63
Беру строчку из списка с удалением,если в списке строчки заканчиваются,то зенка выдает ошибку:
Индекс за пределами диапазона... и т.д и естественно выдает ошибку.
Подскажите можно как-то сделать чтобы в переменную x ложилось пустое значение,чтобы его обработать логикой?
Код:
var x = r_log.ElementAt(0);

if(x=="")
p/s Правильно сделать это предварительно посчитать кол-во строк в списке,но мне этот вариант не подходит.
 

ares.bct

Client
Регистрация
21.06.2016
Сообщения
20
Благодарностей
21
Баллы
3
Можно через try...catch

Код:
try
{
    // берем строку из списка с удалением
}
catch
{
    x = String.Empty;
}
 
  • Спасибо
Реакции: Sanekk

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
Беру строчку из списка с удалением,если в списке строчки заканчиваются,то зенка выдает ошибку:
Индекс за пределами диапазона... и т.д и естественно выдает ошибку.
Подскажите можно как-то сделать чтобы в переменную x ложилось пустое значение,чтобы его обработать логикой?
  • var x = r_log.ElementAt(0);
  • if(x=="")
p/s Правильно сделать это предварительно посчитать кол-во строк в списке,но мне этот вариант не подходит.
Тут есть два варианта, или берем кол-в элементов, и проверяем, не равно ли оно нулю.
C#:
string x = "";

if(r_log.Count() != 0)
{
    x = r_log.ElementAt(0);
}
Или второй, проверяем вообще наличие элементов.
C#:
string x = "";

if(r_log.Any())
{
    x = r_log.ElementAt(0);
}
Через try-catch нет смысла делать, это не тот случай.
Насчет подсчета элементов не понял.
 
  • Спасибо
Реакции: Sanekk и deopl

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)