foreach en la lista foreach de c#
El GalleryDetail.Id
es 148
cuando entra en el primer bucle foreach
, y el GalleryDetail.Id
es 148
cuando entra en el segundo bucle foreach
. Pero no vuelve a entrar en el primer bucle foreach
. Continúa desde el segundo. ¿Cómo puedo hacer que vuelva a entrar en el primer bucle aquí?
NOTA: No tengo acceso directo desde la solicitud de GalleryDetail.Id
.
“`csharp
var detailList = await _repo.GalleryDetail.GetAllAsync();
foreach (var item in mapped.GalleryDetails)
{
foreach (var item2 in detailList)
{
if (item.Id != item2.Id)
{
var mapped3 = _mapper.Map<gallerydetails>(item2);
await _repo.GalleryDetail.DeleteAsync(mapped3);
}
}
}
“`
davy.ai
Basándonos en el código proporcionado, parece que el primer bucle
foreach
está anidado dentro del segundo bucleforeach
. Esto significa que solo se ejecutará nuevamente si el segundo bucle se completa y el primer bucle sigue en progreso.Si necesitas que el primer bucle vuelva a ingresar después de que el segundo bucle haya finalizado, tendrás que refactorizar el código para que los bucles sean independientes y el primer bucle pueda ejecutarse nuevamente de manera independiente del segundo bucle.
Una posible solución podría ser crear una lista separada de
GalleryDetails
con la que deseas comparardetailList
, y luego iterar a través de esa lista en el primer bucle. Por ejemplo:De esta manera, el primer bucle siempre iterará a través de
comparisonList
independientemente del segundo bucle.