Skip to content

Commit 77555fa

Browse files
committed
ConcurrentCollections
1 parent ddb534d commit 77555fa

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,12 @@ Here are examples of C# programming to help you stay up-to-date with the latest
9090

9191
### C# 4 & others
9292

93-
| Feature | Description |
94-
|---------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
95-
|[Dynamic types](DynamicTypes/Program.cs) | Investigates dynamic types using `dynamic`, `ExpandoObject`, and `Activator.CreateInstance`; compares runtime and compile-time behaviors. Includes extension methods, overload resolution, and dynamic collections. |
96-
|[Multicast Delegates](MulticastDelegates/Program.cs) | Demonstrates combining multiple methods into a single delegate instance using multicast delegates. Suitable for event handling, callback chaining, and modular invocation patterns. |
97-
|[DebuggerDisplay](DebuggerDisplay/Program.cs) | Uses `DebuggerDisplay` to customize object visualization in the debugger. Displays a formatted summary during debugging instead of relying on `ToString()`, reducing unnecessary property expansions. |
93+
| Feature | Description |
94+
|-----------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
95+
| [Dynamic types](DynamicTypes/Program.cs) | Investigates dynamic types using `dynamic`, `ExpandoObject`, and `Activator.CreateInstance`; compares runtime and compile-time behaviors. Includes extension methods, overload resolution, and dynamic collections. |
96+
| [Multicast Delegates](MulticastDelegates/Program.cs) | Demonstrates combining multiple methods into a single delegate instance using multicast delegates. Suitable for event handling, callback chaining, and modular invocation patterns. |
97+
| [DebuggerDisplay](DebuggerDisplay/Program.cs) | Uses `DebuggerDisplay` to customize object visualization in the debugger. Displays a formatted summary during debugging instead of relying on `ToString()`, reducing unnecessary property expansions. |
98+
| [ConcurrentCollections](ConcurrentCollections/Program.cs) | Demonstrates how to use .NET's thread-safe collections such as `ConcurrentDictionary`, `ConcurrentBag`, `ConcurrentQueue`, `ConcurrentStack`, and `BlockingCollection` in multi-threaded scenarios. Each collection is optimized for different concurrent data access needs (FIFO, LIFO, producer-consumer, etc.). The code provides simple and observable scenarios using `Parallel.For`, `lock`, and `Console.WriteLine`. |
9899

99100
## Notes
100101
- [Which C# version is included in which framework version?](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version)

0 commit comments

Comments
 (0)