TOOMIX: tak to hodně záleží na kontextu. Jsou situace, kdy nechceš alokovat nový List pro nějaký výsledek Linqu nebo IQueryable. Použití IEnumerable má v určitých situacích svůj význam.
Samozřejmě moudří vědí, že při definování kontraktů a návratových hodnot je lepší používat IReadOnlyList, který konzumenta upozorní, že v kolekci, co dostane, by neměl provádět změny.
A ještě moudřejší vědí, že existují Immutable Collections, které dají konzumentovi jistotu, že ani nikdo jiný mu pod rukama nezmění data, která dostal.
.NET Framework - Immutable Collections | Microsoft Docshttps://docs.microsoft.com/en-us/archive/msdn-magazine/2017/march/net-framework-immutable-collections