Anixe.IO.Extensions 2.1.0

dotnet add package Anixe.IO.Extensions --version 2.1.0                
NuGet\Install-Package Anixe.IO.Extensions -Version 2.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Anixe.IO.Extensions" Version="2.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Anixe.IO.Extensions --version 2.1.0                
#r "nuget: Anixe.IO.Extensions, 2.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Anixe.IO.Extensions as a Cake Addin
#addin nuget:?package=Anixe.IO.Extensions&version=2.1.0

// Install Anixe.IO.Extensions as a Cake Tool
#tool nuget:?package=Anixe.IO.Extensions&version=2.1.0                

Anixe.IO.Extensions

Package contains convenience extension methods.

Examples

Please check Anixe.IO.Extensions.Test

Method descriptions

BoolExtensions

  • ToBool: converts bool? to bool - assumes null to be false

CollectionExtensions

  • IsNullOrEmpty (and its variants): indicates whether IEnumerable<T> is null or empty
  • Join: a more convenient way to call string.Join<T>(String, IEnumerable<T>)
  • FirstOrEmpty: like FirstOrDefault, but for IEnumerable<string> and returning string.Empty rather than null
  • MergeToSelf: updates current Dictionary based on Dictionary passed as argument; like ruby's merge!
  • CartesianProduct: returns all combinations of elements from 2 IEnumerable<T> as tuples
  • GetDuplicates

DateTimeConversionExtensions

  • ToStringDateTimeFast: an optimized way to convert DateTime to date string

DateTimeExtensions

  • Fluent equivalents of comparison operators

GuidExtensions

  • IsNullOrEmpty (and its variants): indicates whether Guid is null (for Guid?) or empty

NumericExtensions

  • ToUtcTimeFromMilisecondsSinceEpoch
  • ToBase36

ObjectExtensions

  • InvokeMethod: dynamically calls method with given name; not recommended for production code
  • ToOneElementList: returns IList<T> with current object as its only element
  • ToEnumerable: returns IEnumerable<T> with current object as its only element

StringConversionExtensions

  • TryParseToDateTime: an optimized way to convert string to DateTime; supported formats: yyyyMMdd and yyyyMMddTHHmm
  • ToInt32: an optimized way to convert string to int

StringExtensions

  • IsNullOrEmpty (and its variants): indicates whether string is null or empty
  • AreDigits: checks if all characters in given range are digits
  • CountCharOccurrences: counts occurrences of given character in given range
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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 was computed.  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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.
  • net8.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.1.0 485 1/8/2024
2.0.1 162 12/4/2023
2.0.0 771 10/25/2022
1.2.2 1,354 5/16/2022
1.2.1 423 5/13/2022
1.2.0 3,987 5/10/2022
1.1.0 678 8/31/2021
1.0.2 4,288 7/8/2021
1.0.1 1,909 4/21/2021
0.0.0 475 4/6/2021

# Anixe.IO.Extensions CHANGELOG

## 2.1.0 - 2024-01-03

- Drop unnecessary dependency Anixe.IO
- Changed nullability annotation of list items to allow nulls in ContainsNullOrEmpty

## 2.0.1 - 2023-12-05

- Improve performance of StringExtensions.AreDigits
- Improve performance of StringExtensions.CountCharOccurrences
- Improve performance of StringConversionExtensions.TryParseToDateTime
- Update Anixe.IO to 3.1.0

## 2.0.0 - 2022-10-26

- Drop support of obsolete .NET and leave .NET 6
- Improve comments in CollectionExtensions
- Throw ArgumentNullException instead of NullReferenceException in CollectionExtensions

## 1.2.2 - 2022-05-13

- Added missing nullable annotations
- Changed ContainsIndex to return ArgumentNullException instead of NullReferenceException

## 1.2.1 - 2022-05-13

- Corrected nullable annotations for .NET 5 build
- Corrected formatting in some documentation comments

## 1.2.0 - 2022-05-09
- Add collection extension methods: - OrEmpty, NotContains, ContainsNull, ContainsNullOrEmpty, AddWithoutMutation, AddIfNotNullAndNotDuplicate, AddIfNotNull, AddIfNotNullOrEmpty, ContainsIndex, TryAddRange, CountNonNulls

## 1.1.0 - 2021-08-31

- Update Anixe.IO to 2.1.0

## 1.0.2 - 2021-07-08

### Added

- License information in package metadata

## 1.0.1 - 2021-04-16

### Added

- `[NotNullWhen]` attribute to IsNullOrEmpty, IsNotNullOrEmpty, IsNotNullOrWhiteSpace, IsNullOrWhiteSpace in StringExtensions and CollectionExtensions

## 1.0.0 - 2021-04-15

### Added

- [BREAKING CHANGE] changed return type of CollectionExtensions.GetDuplicates from `HashSet<T>?` to `IReadOnlyCollection<T>`
- [BREAKING CHANGE] changed `ToOneElementList<T>` with return type `IList<T>` to name `ToSingleElementList<T>` with return type `List<T>`
- performance optimizations
- build for .NET 5.0