@Zimaell

Как проверить есть ли элемент в массиве?

// в теории все ab = "1,1,0,0,1"; к примеру, но могут быть и поврежденные  ab = "1,1.56.../екууере";
string[] b = ab.Split(',');
if(b[0] != null){ if(int.Parse(b[0]) != 0 && int.Parse(b[1]) != 1) b[0] = "0"; } else b[0] = "0";
if(b[1] != null){ if(int.Parse(b[1]) != 0 && int.Parse(b[1]) != 1) b[1] = "0"; } else b[1] = "0";
if(b[2] != null){ if(int.Parse(b[2]) != 0 && int.Parse(b[2]) != 1) b[2] = "0"; } else b[2] = "0";
if(b[3] != null){ if(int.Parse(b[3]) != 0 && int.Parse(b[3]) != 1) b[3] = "0"; } else b[3] = "0";
if(b[4] != null){ if(int.Parse(b[4]) != 0 && int.Parse(b[4]) != 1) b[4] = "0"; } else b[4] = "0";

то есть иногда индексов может и не быть, как проверить и создать индекс, чтобы даже есть он был поврежден то на выходе я все равно имел
b[0] = "0";
b[1] = "0";
b[2] = "0";
b[3] = "0";
b[4] = "0";
  • Вопрос задан
  • 265 просмотров
Решения вопроса 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
После сплита создаёте лист потом делаете цикл от 0 до длины полученного массива, внутри цикла проверяете значение на валидность если валидно то в лист добавляете его если нет то 0 после цикла вызываете метод ToArray() на листе.
Ответ написан
Комментировать
freeExec
@freeExec
Участник OpenStreetMap
Надо не b[i] на null проверять, его там никогда не будет, а проверять длину массива b.
Ну и по-хорошему int.Parse для каждого числа использовать только один раз, а не на каждую проверку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы