dotnet / dotnet/dotnet-api-docs

Clarify purpose of `BlockingCollection<T>.GetConsumingEnumerable` and relationship to `Take`

Open
#779 1 comment 0 reactions 0 assignees View on GitHub
.net/prod area-System.Collections Pri2 unspecified/svc untriaged
Dominant language
C#
Stars
949
Forks
1.7k
Avg merge
3d 27m
Merged PRs (30d)
49

Description

I have two suggestions:
1. Add a "Remarks" section to `GetConsumingEnumerable()` that is identical to the remarks section for `GetConsumingEnumerable(CancellationToken)`. It contains several useful facts about how `GetConsumingEnumerable()` works. Putting it in the "Remarks" section for `GetConsumingEnumerable(CancellationToken)` isn't sufficient because people like me that don't care about cancellation are unlikely to look at `GetConsumingEnumerable(CancellationToken)`.
2. In the "Remarks" section for `Take`, mention that if you want to consume items in a loop, consider using `GetConsumingEnumerable` which is designed for this use case. I'm assuming that's the relationship between `Take` and `GetConsumingEnumerable`. It took some thinking on my part to infer this because it's not explicitly stated anywhere. You might also want to make a statement about `Take` in the "Remarks" section for `GetConsumingEnumerable`.

Adam Comella
Microsoft Corp.

---
#### Document Details

⚠ *Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.*

* ID: f8df56b2-d5da-8d38-ea9d-7f2fb50f877f
* Version Independent ID: f903165e-d4c7-939f-6679-413310730fe6
* Content: [BlockingCollection.GetConsumingEnumerable Method (System.Collections.Concurrent)](https://docs.microsoft.com/en-us/dotnet/api/system.collections.concurrent.blockingcollection-1.getconsumingenumerable?view=netframework-4.7.2#System_Collections_Concurrent_BlockingCollection_1_GetConsumingEnumerable)
* Content Source: [xml/System.Collections.Concurrent/BlockingCollection`1.xml](https://github.com/dotnet/dotnet-api-docs/blob/master/xml/System.Collections.Concurrent/BlockingCollection`1.xml)
* Service: **unspecified**
* Product: **.net**
* GitHub Login: @dotnet-bot
* Microsoft Alias: **dotnetcontent**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.