2013-12-11 3 views
-2
private static void VisualizarAgendaOrdenada() 
{ 
    Pacientes.Sort(); 

    for(int i = 0; i <= Pacientes.Count; i++) 
    { 
     var agenda = Agendas.Find(p => p.Paciente.Nome == Pacientes[i].Nome); 
     if (agenda != null) 
     { 

오류,다음과 같은 오류가 발생 했습니까?

"인덱스가 범위를 벗어났습니다. 지수는 컬렉션의 크기보다 부정적 이상이 될 수 없습니다."

+4

나는 영어로 할 수있는 모든 것들, 특히 오류를 게시 할 것을 강력히 제안합니다. – Arran

+3

배열의 범위 밖에있는 배열 요소에 액세스하려고합니다. – PhoenixReborn

+0

@Arran 나는 우리 모두가 다국어라고 생각 했습니까? –

답변

4

루프 조건이 잘못되었습니다. <= Pacientes.Count까지 루프가 실행되지 않고 < Pacientes.Count까지만 반복 될 수 있습니다.

for (int i = 0; i < Pacientes.Count; i++) 

그렇지 않으면 목록 범위 밖에있는 색인에 액세스하려고 시도합니다. Count 요소 목록은 0에서 Count-1까지 색인이 생성됩니다.

+0

너희들은 해결되었습니다 감사합니다 !!! – user3091930

1

존재하지 않는 색인 아래 목록에서 읽으려고합니다. <=<으로 변경하십시오. 배열/목록은 당신이 모든 요소를 ​​반복 할 필요가있을 때 0부터 색인되기 때문에

for(int i = 0; i < Pacientes.Count; i++) 

당신은 항상 < Count() 또는 < Length을 사용해야합니다.

+0

너희들은 해결되었습니다 :)))) – user3091930