Collection Return Types in C#: Interfaces, Views, and Snapshots
A method that returns IReadOnlyList<T> tells the caller it cannot write, but says nothing about whether the data is an independent copy, a live view or a fixed report. The article separates the declared capability from the ownership and lifetime contract, then evaluates each collection return shape against both layers.