Является ли foreach loop проверять пустой индекс массива или он заканчивается на том индексе, где заканчиваются элементы? например, в индексе 0 массива существует элемент, а индекс 1 пуст, а затем в индексе 2 существует элемент, который является циклом foreach, проверяющим элемент в индексе 2 или заканчивающимся индексом 1?Asp.net foreach loop
ответ
Позвольте мне объяснить, что foreach
на самом деле.
Он выполняет итерацию по набору элементов внутри IEnumerable
, чтобы, не пропуская ничего, даже если текущий элемент имеет значение null
.
Если у вас есть массив с [5,2,24]
, элементы будут называться в Одер 5
, 2
, 24
и остановится после этого.
Цикл foreach будет работать для длины массива. В вашем примере есть три элемента массива, но один из них пуст. Цикл foreach будет работать 3 раза по порядку индекса, 0 затем 1, затем 2.
... и будет работать в порядке индекса. –
правильный. Я понял, что это подразумевалось, но опять же, я думал, что foreach также подразумевает длину. Точка принята – SaggingRufus
@mason Я никогда не думал об этом таким образом, в какой-то мере я вношу свой вклад в эту проблему! – SaggingRufus
Цикл Foreach работает над значением, которое он содержит. ex: loop содержать = [1,2,3,5] затем циклы на основе количества данных
Это похоже на то, что вы могли проверить, запустив код самостоятельно. Я не знаю, зачем ты нам нужен. – mason
Будет более понятным, если вы добавите пример –
foreach успешно выполнит цикл всех элементов инициализированного массива. Если есть 0 элементов, он будет 0 раз. Это тоже то, что вы могли бы легко попробовать. Если массив равен NULL, он сломается. Вы тоже можете это проверить. – Forklift