2013-12-11 86 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

您试图从索引下不存在的列表中读取。将您的<=更改为<

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

因为数组/列表被索引从0开始,当您需要遍历所有元素,你总是要使用< Count()< Length

+0

谢谢你们已经解决:))) – user3091930