Oakrey.Collections
1.0.0
dotnet add package Oakrey.Collections --version 1.0.0
NuGet\Install-Package Oakrey.Collections -Version 1.0.0
<PackageReference Include="Oakrey.Collections" Version="1.0.0" />
<PackageVersion Include="Oakrey.Collections" Version="1.0.0" />
<PackageReference Include="Oakrey.Collections" />
paket add Oakrey.Collections --version 1.0.0
#r "nuget: Oakrey.Collections, 1.0.0"
#addin nuget:?package=Oakrey.Collections&version=1.0.0
#tool nuget:?package=Oakrey.Collections&version=1.0.0
Oakrey.Collections
Overview
The Collections project is a comprehensive library of advanced collection types and utility extensions designed to enhance the functionality of standard .NET collections. The project provides thread-safe, observable, and specialized collection implementations, as well as statistical and utility extensions for common collection operations.
Key Features
Advanced Collection Types:
- UniqueNameList<T>: A list ensuring unique Name properties for items implementing the IName interface.
- TrulyObservableCollection<T>: An observable collection that tracks property changes of its items.
- LockedList<T> and LockedDictionary<TKey, TValue>: Thread-safe implementations of List and Dictionary.
- SelfFillingQueue<T>: A queue that auto-fills itself using a provided function when capacity is reached.
- FixedSizedQueue<T>: A queue with a fixed size that automatically removes the oldest items when the limit is exceeded.
- Histogram<TKey>: A sorted dictionary for recording and counting occurrences of keys.
Utility Extensions:
- QueueExtensions and StackExtensions: Extensions for batch operations like EnqueueRange, DequeueRange, PushRange, and PopRange.
- DictionaryExtensions: Iteration utilities for dictionaries.
- ByteArrayExtensions: Padding operations for byte arrays.
- QueueFluentExtensions: Fluent-style methods for appending and prepending items to queues.
Statistical Operations:
- StatisticExtensions: Provides statistical methods like Median, Mode, Variance, StandardDeviation, and moving averages for numeric collections.
Observable and Event-Driven Features:
- ObservableKeyValuePair<TKey, TValue>: A key-value pair that notifies property changes.
- CollectionsItemPropertyChangedEventArgs: Event arguments for tracking property changes in collection items.
Error Handling:
- CollectionException and Extensions: Custom exceptions and utilities for validating collection states.
Object Management:
- ObjectCache<T>: A cache for managing object lifetimes with reference counting and custom release actions.
Installation
You can install the package via NuGet Package Manager, Package Manager Console or the .NET CLI.
NuGet Package Manager
- Open your project in Visual Studio.
- Navigate to Tools > NuGet Package Manager > Manage NuGet Packages for Solution....
- Search for
Oakrey.Collections
and click Install.
.NET CLI
Run the following command in your terminal:
dotnet add package Oakrey.Collections
Package Manager Console
Run the following command in your Package Manager Console:
Install-Package Oakrey.Collections
Requirements
- .NET 8 or higher
Project Information
- Author: Oakrey
- Company: Oakrey
- License: MIT
- Repository: Git Repository
- Project URL: Project Website
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests to improve the package.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages (14)
Showing the top 5 NuGet packages that depend on Oakrey.Collections:
Package | Downloads |
---|---|
Oakrey.Markdown
A framework for parsing, processing, and rendering Markdown content in .NET applications, with advanced features like tables, code blocks, and emoji support, and seamless integration with WPF for styled content rendering |
|
Oakrey.Applications.Json
A .NET library for JSON serialization and deserialization, supporting batch operations, asynchronous methods, and integration with file management services. |
|
Oakrey.Applications.CustomLogging
A flexible and extensible .NET library for custom logging, supporting multiple logging engines, log broadcasting, and contextual logging with file path customization. |
|
Oakrey.Wpf.Dashboard
Provides a set of WPF controls for building interactive dashboards, including Gauge, GraphInTime, Histogram, and TickMarker controls. Ideal for data visualization and real-time metrics representation. |
|
Oakrey.Applications.Reporting
A .NET library for generating structured reports with metadata, supporting evidence-based reporting, customizable output, and batch reporting capabilities |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 299 | 4/16/2025 |