Filtrage des boucles foreach avec une condition where vs clause de garde continue

J'ai vu certains programmeurs utiliser ceci: foreach (var item in items) { if (item.Field != null) continue; if (item.State != ItemStates.Deleted) continue; // code } au lieu de celui que j'utiliserais normalement: foreach (var item in items.Where(i => i.Field != null && i.State !=...