Error raro con tablas hash

10/05/2007 - 22:33 por Roberto Palacios | Informe spam
Buenas noches tengo el siguiente código (no lo pongo todo pero la estructura
general se ve) y al compilarlo me da este error en la linea marcada con
asteriscos

"Colección modificada; puede que no se ejecute la operación de enumeración."
:-s

y la verdad no tengo ni idea como arreglarlo o como hacerlo de otra manera
para evitar este error, he leido q actualizando el .net, creo q he metido
todos los parches habidos (creo) y nada, también leí qu usando lock, pero
esta opción no la tengo muy clara, espero que alguien me pueda ayudar.
Agradeceria cualquier consejo o sugerencia. Muchas gracias a todos.
archivos=dir.GetFiles();



for(int i=0;i<archivos.Length;i++)

{

Hashtable tabla_X=new Hashtable();

Hashtable tabla_Y=new Hashtable();

Hashtable tabla_XY=new Hashtable();



linea_fich=lector_origen.ReadLine();


while (linea_fich!=null)

{

if (tabla_X.ContainsKey(valor_x))

{acciones para rellenae la tabla x }

else

{acciones para rellenae la tabla x }

if (tabla_Y.ContainsKey(valor_y))

{acciones para rellenae la tabla y }

else

{ acciones para rellenae la tabla y }


if (tabla_XY.ContainsKey(valor_xy))

{acciones para rellenae la tabla xy }

else

{acciones para rellenae la tabla xy }

linea_fich=lector_origen.ReadLine();

}//fin del while



//X

IDictionaryEnumerator apuntador_x=tabla_X.GetEnumerator();


while (apuntador_x.MoveNext())
(*****************************************************************************)

{

int numero_x=0;

object numero_aux_x=tabla_X[apuntador_x.Key];

numero_x=(int)numero_aux_x;

tabla_X[apuntador_x.Key]=numero_x/total_posibles;

}


//Y

Acciones similares a las hechas con la tabla_x pero sobre la tabla_y


//XY

Acciones similares a las hechas con la tabla_x pero sobre la tabla_xy



}//Fin del for

Preguntas similare

Leer las respuestas

#1 Roberto Palacios
11/05/2007 - 00:08 | Informe spam
Muchas gracias a todos, ya he arreglado el problema.

Un saludo
Roberto
Respuesta Responder a este mensaje
#2 Francisco J. Rodríguez
11/05/2007 - 10:22 | Informe spam
Pues me he quedau sin saber el motivo del error :( :D

Saludos.
Francisco J. Rodríguez

"Roberto Palacios" escribió en el mensaje
news:464397de$
Muchas gracias a todos, ya he arreglado el problema.

Un saludo
Roberto

Respuesta Responder a este mensaje
#3 Roberto Palacios
11/05/2007 - 23:01 | Informe spam
Pues por lo que vi (no es que sea mu bueno en esto) el
IDictionaryEnumerator gripa al modificar un elemento de la tabla hash
mientras lo está recorriendo. Lo solucioné añadiendo los cambios a una tabla
hash nueva, sin tocar la tabla sobre la que corre el IDictionaryEnumerator.
No se, a mí me parece un poco raro...no se :-s

Un saludo y gracias por el interes

Roberto
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida