Chasm.Collections
2.2.0
See the version list below for details.
dotnet add package Chasm.Collections --version 2.2.0
NuGet\Install-Package Chasm.Collections -Version 2.2.0
<PackageReference Include="Chasm.Collections" Version="2.2.0" />
paket add Chasm.Collections --version 2.2.0
#r "nuget: Chasm.Collections, 2.2.0"
// Install Chasm.Collections as a Cake Addin #addin nuget:?package=Chasm.Collections&version=2.2.0 // Install Chasm.Collections as a Cake Tool #tool nuget:?package=Chasm.Collections&version=2.2.0
Chasm.Collections
Provides various collection-related extension and utility methods.
ArrayExtensions
Contains extension versions of most static methods in the Array
class.
int[] numbers = new int[10] { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 };
int index = numbers.IndexOf(8);
string[] strings = numbers.ConvertAll(num => num.ToString());
string? found = strings.Find(s => s.Length > 1);
Includes overloads of Find
, Exists
, ConvertAll
and other methods that use delegates, that provide one or two extra parameters - the element's index and the source array. Similar to how it works in JavaScript arrays.
string[] distinct = strings.FindAll((el, i, arr) => i == arr.IndexOf(el));
Also includes some common LINQ methods optimized for arrays: Cast
, OfType
and Contains
. And Copy
for simpler shallow copying.
object[] arr = new object[] { "Hello", "World", "!" };
string[] strings = arr.Cast<string>();
object[] shallowCopy = arr.Copy();
CollectionExtensions
Contains Add
overloads for adding tuples and KeyValuePair
s to collections, without having to enclose the elements in double parenthesis.
List<(string, double)> units = new();
units.Add("meter", 1);
units.Add("centimeter", 0.01);
EnumerableExtensions
Contains NotNull
, ForEach
and EmptyIfNull
extension methods for enumerables.
string?[] values = new string?[] { "Hello", null, " World", null, "!\n" };
values.NotNull().ForEach(word => Console.Write(word));
Enumerator
, ReadOnlyCollection
, ReadOnlyDictionary
Contain static Empty<T>()
methods that returns a global empty enumerator/read-only collection/read-only dictionary.
if (size == 0) return ReadOnlyCollection.Empty<string>();
/* ... */
Enumerator
contains three versions of this method: Empty()
(IEnumerator
), Empty<T>()
(IEnumerator<T>
) and EmptyAsync<T>()
(IAsyncEnumerator<T>
).
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.4.4 | 91 | 11/19/2024 |
2.4.3 | 98 | 9/28/2024 |
2.4.2 | 147 | 9/15/2024 |
2.4.1 | 118 | 9/6/2024 |
2.4.0 | 109 | 9/5/2024 |
2.3.1 | 134 | 8/25/2024 |
2.3.0 | 132 | 8/19/2024 |
2.2.7 | 106 | 6/11/2024 |
2.2.6 | 105 | 6/7/2024 |
2.2.5 | 101 | 5/12/2024 |
2.2.4 | 104 | 5/9/2024 |
2.2.2 | 347 | 1/1/2024 |
2.2.1 | 159 | 12/17/2023 |
2.2.0 | 136 | 12/17/2023 |
2.1.0 | 154 | 12/16/2023 |
2.0.0 | 140 | 12/16/2023 |