DotNext by Roman Sakno

<PackageReference Include="DotNext" Version="1.2.0" />

 ReadOnlyListView<I, O>

Represents lazily converted read-only list.
public int Count { get; }

Count of items in the list.

public O this[int index] { get; }

Gets item at the specified position.

public ReadOnlyListView(IReadOnlyList<I> list, ref ValueFunc mapper)

Initializes a new lazily converted view.

public static bool op_Equality(ReadOnlyListView<I, O> first, ReadOnlyListView<I, O> second)

Determines whether two views are same.

public static bool op_Inequality(ReadOnlyListView<I, O> first, ReadOnlyListView<I, O> second)

Determines whether two views are not same.

public bool Equals(ReadOnlyListView<I, O> other)

Determines whether two converted lists are same.

Returns enumerator over converted items.