problemas con Listas e Invoke

11/02/2008 - 10:47 por Aitziber | Informe spam
Buenas,
tengo una función que llamo con un Invoke (del data_received). En esa
función intento buscar un objeto en una lista, pero si no se encuentra me
salta una excepción y no se cual es la razón.
Yo lo que quiero es que si no lo encuentra no le haga caso y que siga
adelante.

Como lo puedo hacer??

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
11/02/2008 - 10:56 | Informe spam
"Aitziber" wrote in message
news:
tengo una función que llamo con un Invoke (del data_received). En esa
función intento buscar un objeto en una lista, pero si no se encuentra me
salta una excepción y no se cual es la razón.
Yo lo que quiero es que si no lo encuentra no le haga caso y que siga
adelante.

Como lo puedo hacer??



Lo mejor es que compruebes si existe:

tipo encontrado = null;
if (lista.Contains(elemento))
{
encontrado = lista[elemento];
}
else
{
//No encontrado
}

También podrías usar un try...catch, pero es poco recomendable a no ser que
el caso de "no encontrar el objeto en la lista" sea realmente excepcional, y
no un caso esperado.
Respuesta Responder a este mensaje
#2 Aitziber
11/02/2008 - 11:07 | Informe spam
No se como podría hacerlo asi.
Lo que yo he hecho es lo siguiente y nisiquiera llega al if.
busca_objeto = valores_RegionObjeto.Find(encontrar_objeto);

if (busca_objeto != null)

{

busca_objeto.asignar_valor(valores_datos);

existe_objeto = true;}

public static bool encontrar_objeto(RegionObjeto ro)

{

return (ro.region == region && ro.numero_objeto == num_obj);

}

"Alberto Poblacion"
escribió en el mensaje news:%23Uo%
"Aitziber" wrote in message
news:
tengo una función que llamo con un Invoke (del data_received). En esa
función intento buscar un objeto en una lista, pero si no se encuentra me
salta una excepción y no se cual es la razón.
Yo lo que quiero es que si no lo encuentra no le haga caso y que siga
adelante.

Como lo puedo hacer??



Lo mejor es que compruebes si existe:

tipo encontrado = null;
if (lista.Contains(elemento))
{
encontrado = lista[elemento];
}
else
{
//No encontrado
}

También podrías usar un try...catch, pero es poco recomendable a no ser
que el caso de "no encontrar el objeto en la lista" sea realmente
excepcional, y no un caso esperado.


Respuesta Responder a este mensaje
#3 Aitziber
11/02/2008 - 12:16 | Informe spam
El problema viene cuando pongo un try catch, que me gustaría que siguiese
analizando el mensaje que recibo para poder mostrar los siguientes datos.

"Aitziber" escribió en el mensaje
news:O%
No se como podría hacerlo asi.
Lo que yo he hecho es lo siguiente y nisiquiera llega al if.
busca_objeto = valores_RegionObjeto.Find(encontrar_objeto);

if (busca_objeto != null)

{

busca_objeto.asignar_valor(valores_datos);

existe_objeto = true;}

public static bool encontrar_objeto(RegionObjeto ro)

{

return (ro.region == region && ro.numero_objeto == num_obj);

}

"Alberto Poblacion"
escribió en el mensaje news:%23Uo%
"Aitziber" wrote in message
news:
tengo una función que llamo con un Invoke (del data_received). En esa
función intento buscar un objeto en una lista, pero si no se encuentra
me salta una excepción y no se cual es la razón.
Yo lo que quiero es que si no lo encuentra no le haga caso y que siga
adelante.

Como lo puedo hacer??



Lo mejor es que compruebes si existe:

tipo encontrado = null;
if (lista.Contains(elemento))
{
encontrado = lista[elemento];
}
else
{
//No encontrado
}

También podrías usar un try...catch, pero es poco recomendable a no ser
que el caso de "no encontrar el objeto en la lista" sea realmente
excepcional, y no un caso esperado.






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