¿Por qué el código siguiente no borra todos los datos de la lista de matriz?Borrar todos los datos de la lista de matriz
Console.WriteLine("Before cleaning:" + Convert.ToString(ID.Count));
//ID.Count = 20
for (int i = 0; i < ID.Count; i++)
{
ID.RemoveAt(i);
}
Console.WriteLine("After cleaning:" + Convert.ToString(ID.Count));
//ID.Count = 10
¿Por qué se imprime 10 en la pantalla?
¿Tal vez hay otra función especial que elimina todo?
La primera vez que pasa por el ciclo, elimina el elemento en la posición 0.Ahora hay 19 elementos en la lista, el elemento en la posición 1 ahora se mueve a la posición cero, 2 -> 1, 3-> 2 etc. La segunda vez a través del ciclo, se retira el elemento en la posición 1 (este solía ser el elemento 2). Ha salteado el artículo en la posición 0 (que solía ser el elemento 1). De esta forma, eliminará cada segundo elemento de la lista. –