2017-02-13 1 views
-6

foreach 루프는 배열의 빈 인덱스를 확인합니까? 아니면 요소가 끝난 인덱스에서 종료됩니까? 예를 들어, 배열의 인덱스 0에서 요소가 존재하고 인덱스 1이 비어 있고 인덱스 2에서 요소가 존재하면 foreach 루프는 인덱스 2에서 요소를 검사하거나 인덱스 1에서 종료됩니까?Asp.net foreach 루프

+4

이것은 코드를 직접 실행하여 확인할 수있는 것처럼 들립니다. 왜 네가 우리를 필요로하는지 모르겠다. – mason

+0

예제를 추가하면 더 명확 해집니다 –

+0

foreach는 초기화 된 배열의 모든 요소를 ​​성공적으로 루프합니다. 0 요소가 있으면 0 번 반복됩니다. 이것은 또한 매우 쉽게 자신을 시도 할 수있는 것입니다. 배열이 null의 경우는 파기됩니다. 당신도 그것을 테스트 할 수 있습니다. – Forklift

답변

-2

foreach이 실제로하는 것을 설명해 드리겠습니다.
현재 요소의 값이 null 인 경우에도 아무 것도 건너 뛰지 않고 IEnumerable 안에있는 요소 컬렉션을 순서대로 반복합니다. 당신이 [5,2,24]와 배열이있는 경우

, 요소는 오 데르 5, 2, 24에서 호출되며, 그 후 중지됩니다.

+0

그건 정말 질문에 대답하지 않습니다. – mason

+0

@mason '건너 뛰지 않고'대답을 암시하지 않았습니까? –

+0

아니요. 특정 인덱스에있는 요소가 비어 있거나 요소가 배열의 끝에있을 때 건너 뛴다는 의미에 달려 있기 때문입니다. – mason

0

배열의 길이에 대해 foreach 루프가 실행됩니다. 예를 들어, 3 개의 배열 요소가 있지만 하나는 비어 있습니다. foreach 루프는 인덱스, 0, 1, 2의 순서로 3 번 실행됩니다.

+2

... 그리고 인덱스 순서로 실행됩니다. –

+0

이 맞습니다. 나는 그것이 함축 된 것이라고 생각했다. 그러나 다시, 나는 또한 foreach가 길이를 암시한다고 생각했다. 점을 찍었습니다 – SaggingRufus

+0

@mason 그런 식으로 생각하지 못했습니다. 그런데 문제를 일으키고 있습니다! – SaggingRufus

-2

Foreach 루프는 포함 된 값으로 실행됩니다. 예 : 루프 포함 = [1,2,3,5] 다음 데이터 개수에 따른 루프