<PackageReference Include="System.Reactive" Version="5.0.0" />

Select<TSource, TResult>

static class Select<TSource, TResult>
using System.Runtime.CompilerServices; namespace System.Reactive.Linq.ObservableImpl { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] internal static class Select<[System.Runtime.CompilerServices.Nullable(2)] TSource, [System.Runtime.CompilerServices.Nullable(2)] TResult> { [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1, 1, 0, 0 })] internal sealed class Selector : Producer<TResult, Selector._> { [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1, 1 })] internal sealed class _ : Sink<TSource, TResult> { private readonly Func<TSource, TResult> _selector; public _(Func<TSource, TResult> selector, IObserver<TResult> observer) : base(observer) { _selector = selector; } public override void OnNext(TSource value) { TResult value2; try { value2 = _selector(value); } catch (Exception error) { ForwardOnError(error); return; } ForwardOnNext(value2); } } private readonly IObservable<TSource> _source; private readonly Func<TSource, TResult> _selector; public Selector(IObservable<TSource> source, Func<TSource, TResult> selector) { _source = source; _selector = selector; } [return: System.Runtime.CompilerServices.Nullable(new byte[] { 1, 0, 0 })] protected override _ CreateSink(IObserver<TResult> observer) { return new _(_selector, observer); } protected override void Run([System.Runtime.CompilerServices.Nullable(new byte[] { 1, 0, 0 })] _ sink) { sink.Run(_source); } } [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1, 1, 0, 0 })] internal sealed class SelectorIndexed : Producer<TResult, SelectorIndexed._> { [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1, 1 })] internal sealed class _ : Sink<TSource, TResult> { private readonly Func<TSource, int, TResult> _selector; private int _index; public _(Func<TSource, int, TResult> selector, IObserver<TResult> observer) : base(observer) { _selector = selector; } public override void OnNext(TSource value) { TResult value2; try { value2 = _selector(value, checked(_index++)); } catch (Exception error) { ForwardOnError(error); return; } ForwardOnNext(value2); } } private readonly IObservable<TSource> _source; private readonly Func<TSource, int, TResult> _selector; public SelectorIndexed(IObservable<TSource> source, Func<TSource, int, TResult> selector) { _source = source; _selector = selector; } [return: System.Runtime.CompilerServices.Nullable(new byte[] { 1, 0, 0 })] protected override _ CreateSink(IObserver<TResult> observer) { return new _(_selector, observer); } protected override void Run([System.Runtime.CompilerServices.Nullable(new byte[] { 1, 0, 0 })] _ sink) { sink.Run(_source); } } } }