Use FrozenDictionary and FrozenSet for immutable, highly-optimized read-only collections.
Code Snippet
using System.Collections.Frozen;
// Create once at startup
private static readonly FrozenDictionary _lookup =
new Dictionary
{
["alpha"] = 1,
["beta"] = 2,
["gamma"] = 3
}.ToFrozenDictionary();
// Ultra-fast lookups, no locking needed
public int GetValue(string key) =>
_lookup.TryGetValue(key, out int val) ? val : -1;
Why This Helps
- Optimized internal structure for read performance
- Thread-safe without locks
- Lower memory overhead than concurrent collections
How to Test
- Benchmark lookup times vs Dictionary
- Verify thread safety under concurrent access
When to Use
Configuration data, lookup tables, any collection populated once and read many times.
Performance/Security Notes
Available in .NET 8+. Creation is slower than regular collections but reads are faster.
References
Try this tip in your next project and share your results in the comments!
Discover more from Byte Architect
Subscribe to get the latest posts sent to your email.