Skip to content
0:00 / 0:00

#iasyncenumerable#linq#asyncstreams

Supporting IAsyncEnumerable with LINQ

Microsoft Developer

700K subscribers • 17 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • A classic. People kept recommending it from 2019 to 2026.
  • Presented by Bart De Smet, software engineer at Microsoft
  • Linked in the descriptiondotnet/roslyndotnet/reactive
  • Made by the vendor. The company whose product it covers made or sponsored it.

Intermediate. Assumes working knowledge.

12K views7 years ago2 recommendations

Programming languagesSystems programmingC# and .NETConcurrency and parallelism

Bart De Smet discusses the history of async streams and demonstrates how to use LINQ operators with IAsyncEnumerable in .NET.

Asyncronous Streams feature document github.com/dotnet/roslyn/blob/master/docs/features/async-str… Reactive Extensions and System.Linq.Async on GitHub github.com/dotnet/reactive System.Linq.Async on NuGet nuget.org/packages/System.Linq.Async With IAsyncEnumerable being introduced in .NET Core 3, it's not surprising that developers might want to leverage their existing knowledge of Linq operations when working with async streams. In this episode, Bart De Smet comes on to talk about the System.Linq.Async nuget package that adds some common Linq query operators to IAsyncEnumerable. [] - What's the history behind IAsyncEnumerable? [] - How does the new IAsyncEnumerable compare to the previous? [] - Can IAsyncEnumerable scale to large systems? [ ] - How do the ways we partition work with IAsyncEnumerable differ from IEnumerable? [] - What can we make use of IAsyncEnumerable? (Demo) [] - How can we add support for common Linq expressions to IAsyncEnumerable? [] - How do filtering and ordering operations work with IAsyncEnumerable? [] - How important was community support to the longevity of this project? [] - How have the language features made code much simpler?

Why it's here

2 people recommend this

What people say. Recommended as an excellent explanation of how LINQ integrates with async streams in .NET.

u/hm_vrin r/dotnet • Recommends

On “LINQ for IAsyncEnumerable is in .NET 10 Preview 1”

…nq.Async\` (a good example is the powerful interplay between IAsyncEnumerable and IObservable in https://github.com/ais-dotnet/Ais.Net.Receiver/ ) but the library only lives in the Rx repo by the historic oddity that it was originally created by Bart De Smet, while he was the maintainer of Rx. You can find the original On .NET show about it here: [video \`System.Linq.Async\` doesn't really have any direct relationship to Rx, and we, as the new maintainers, were keen to reduce the amount of code we were supporting - as we're not Microsoft - we can only dedicate a few hours per month on the project (which you can see logged here: https://github.com/dotnet/reactive/discussions/1868 ) and we…

u/Kuus4in r/dotnet • Recommends

On “Async Streams // A Look at New Language Features in C# 8”

A great video from Bart on how to use LINQ with async streams. [video

u/hm_vrin r/dotnet • Recommends

On “Rx.Net is great, but…”

…iner here. That's not quite true. The original Rx (Microsoft based) team implemented IAsyncEnumerable before it existed in the BCL. When it was then recreated as part of the framework, the Rx team said "we already have all the LINQ operators, why not use them" and System.Linq.Async was released - see the original On .NET session about this topic: [video In 2024 - the new community supported Rx team (no Microsoft support) raised an issue asking if this library, which has nothing to do with Rx, could be moved into the core framework and System.Linq.AsyncEnumerable is the result. Ian Griffiths covers this and more in his recent On .NET Live episode: https://endjin.com/blog/2026/02/rx7-o…