Microsoft.Bcl.AsyncInterfaces 9.0.0-preview.1.24080.9

About

As of C# 8, the C# language has support for producing and consuming asynchronous iterators. The library types in support of those features are available in .NET Core 3.0 and newer as well as in .NET Standard 2.1. This library provides the necessary definitions of those types to support these language features on .NET Framework and on .NET Standard 2.0. This library is not necessary nor recommended when targeting versions of .NET that include the relevant support.

Key Features

  • Enables the use of C# async iterators on older .NET platforms

How to Use

using System;
using System.Collections.Generic;
using System.Threading.Tasks;

internal static class Program
{
    private static async Task Main()
    {
        Console.WriteLine("Starting...");
        await foreach (var value in GetValuesAsync())
        {
            Console.WriteLine(value);
        }
        Console.WriteLine("Finished!");

        static async IAsyncEnumerable<int> GetValuesAsync()
        {
            for (int i = 0; i < 10; i++)
            {
                await Task.Delay(TimeSpan.FromSeconds(1));
                yield return i;
            }
        }
    }
}

Main Types

The main types provided by this library are:

  • IAsyncEnumerable<T>
  • IAsyncEnumerator<T>
  • IAsyncDisposable<T>

Additional Documentation

Feedback & Contributing

Microsoft.Bcl.AsyncInterfaces is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Showing the top 20 packages that depend on Microsoft.Bcl.AsyncInterfaces.

Packages Downloads
Microsoft.Extensions.DependencyInjection.Abstractions
Abstractions for dependency injection. Commonly Used Types: Microsoft.Extensions.DependencyInjection.IServiceCollection
180
System.Text.Json
Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data. Commonly Used Types: System.Text.Json.JsonSerializer System.Text.Json.JsonDocument System.Text.Json.JsonElement System.Text.Json.Utf8JsonWriter System.Text.Json.Utf8JsonReader When using NuGet 3.x this package requires at least version 3.4.
175
Microsoft.Extensions.DependencyInjection.Abstractions
Abstractions for dependency injection. Commonly Used Types: Microsoft.Extensions.DependencyInjection.IServiceCollection
171
Microsoft.Extensions.DependencyInjection.Abstractions
Abstractions for dependency injection. Commonly Used Types: Microsoft.Extensions.DependencyInjection.IServiceCollection
165
CsvHelper
A library for reading and writing CSV files. Extremely fast, flexible, and easy to use. Supports reading and writing of custom class objects.
140
Microsoft.Extensions.Logging
Logging infrastructure default implementation for Microsoft.Extensions.Logging.
138
Microsoft.Extensions.Diagnostics.HealthChecks
Components for performing health checks in .NET applications Commonly Used Types: Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckService Microsoft.Extensions.Diagnostics.HealthChecks.IHealthChecksBuilder This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/3f1acb59718cadf111a0a796681e3d3509bb3381
137
Microsoft.Extensions.DependencyInjection
Default implementation of dependency injection for Microsoft.Extensions.DependencyInjection.
137
System.Linq.Async
Provides support for Language-Integrated Query (LINQ) over IAsyncEnumerable<T> sequences.
136
Stripe.net
Stripe.net is a sync/async .NET 4.6.1+ client, and a portable class library for the Stripe API. (Official Library)
135
Microsoft.Extensions.Hosting.Abstractions
Hosting and startup abstractions for applications.
134
System.Text.Json
Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data. The System.Text.Json library is built-in as part of the shared framework in .NET Runtime. The package can be installed when you need to use it in other target frameworks.
134
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
131
Microsoft.Bcl.TimeProvider
Provides support for system time abstraction primitives for .NET Framework and .NET Standard. Commonly Used Types: System.TimeProvider System.ITimer
58
Polly.Core
Polly.Core is a .NET resilience and transient-fault-handling library that allows developers to express resilience strategies such as Retry, Circuit Breaker, Hedging, Timeout, Chaos and Fallback in a fluent and thread-safe manner.
57
System.Text.Json
Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data. The System.Text.Json library is built-in as part of the shared framework in .NET Runtime. The package can be installed when you need to use it in other target frameworks.
54
System.Threading.RateLimiting
APIs to help manage rate limiting. Commonly Used Types: System.Threading.RateLimiting.RateLimiter System.Threading.RateLimiting.ConcurrencyLimiter System.Threading.RateLimiting.TokenBucketRateLimiter System.Threading.RateLimiting.RateLimitLease
54
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
54
System.Text.Json
Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data. The System.Text.Json library is built-in as part of the shared framework in .NET Runtime. The package can be installed when you need to use it in other target frameworks.
47
Microsoft.Extensions.Logging.Console
Console logger provider implementation for Microsoft.Extensions.Logging.
47

https://go.microsoft.com/fwlink/?LinkID=799421

.NET Framework 4.6.2

.NET Standard 2.0

.NET Standard 2.1

  • No dependencies.

Version Downloads Last updated
9.0.0 0 11/12/2024
9.0.0-rc.2.24473.5 2 11/19/2024
9.0.0-rc.1.24431.7 2 10/03/2024
9.0.0-preview.7.24405.7 0 08/13/2024
9.0.0-preview.6.24327.7 3 08/13/2024
9.0.0-preview.5.24306.7 3 06/17/2024
9.0.0-preview.4.24266.19 4 05/30/2024
9.0.0-preview.3.24172.9 6 05/31/2024
9.0.0-preview.2.24128.5 2 06/02/2024
9.0.0-preview.1.24080.9 3 03/07/2024
8.0.0 3 03/07/2024
8.0.0-rc.2.23479.6 2 03/12/2024
8.0.0-rc.1.23419.4 1 08/13/2024
8.0.0-preview.7.23375.6 3 03/07/2024
8.0.0-preview.6.23329.7 3 05/29/2024
8.0.0-preview.5.23280.8 3 03/07/2024
8.0.0-preview.4.23259.5 3 03/07/2024
8.0.0-preview.3.23174.8 3 03/07/2024
8.0.0-preview.2.23128.3 3 03/07/2024
8.0.0-preview.1.23110.8 0 02/21/2023
7.0.0 3 03/07/2024
7.0.0-rc.2.22472.3 3 03/11/2024
7.0.0-rc.1.22426.10 3 03/07/2024
7.0.0-preview.7.22375.6 3 03/07/2024
7.0.0-preview.6.22324.4 2 06/18/2024
7.0.0-preview.5.22301.12 0 06/14/2022
7.0.0-preview.4.22229.4 3 03/07/2024
7.0.0-preview.3.22175.4 3 03/07/2024
7.0.0-preview.2.22152.2 3 11/03/2024
7.0.0-preview.1.22076.8 3 03/07/2024
6.0.2-mauipre.1.22102.15 3 03/08/2024
6.0.2-mauipre.1.22054.8 3 03/07/2024
6.0.0 144 03/06/2024
6.0.0-rc.2.21480.5 3 03/07/2024
6.0.0-rc.1.21451.13 3 03/08/2024
6.0.0-preview.7.21377.19 3 11/09/2024
6.0.0-preview.6.21352.12 3 03/07/2024
6.0.0-preview.5.21301.5 3 03/07/2024
6.0.0-preview.4.21253.7 3 03/07/2024
6.0.0-preview.3.21201.4 1 03/08/2024
6.0.0-preview.2.21154.6 1 03/08/2024
6.0.0-preview.1.21102.12 1 10/03/2024
5.0.0 3 03/07/2024
5.0.0-rc.2.20475.5 3 03/07/2024
5.0.0-rc.1.20451.14 2 03/07/2024
1.1.1 2 03/07/2024
1.1.0 2 03/07/2024
1.1.0-preview3.19551.4 2 03/07/2024
1.1.0-preview2.19523.17 1 08/13/2024
1.1.0-preview1.19504.10 3 11/03/2024
1.0.0 23 03/07/2024
1.0.0-rc1.19456.4 0 09/16/2019
1.0.0-preview9.19421.4 3 03/08/2024
1.0.0-preview9.19416.11 3 11/03/2024
1.0.0-preview8.19405.3 0 08/13/2019
1.0.0-preview7.19362.9 2 11/03/2024
1.0.0-preview6.19303.8 2 03/13/2024
1.0.0-preview6.19264.9 0 09/04/2019
1.0.0-preview6.19259.10 2 06/28/2024