BoysheO.Extensions 6.7.3

dotnet add package BoysheO.Extensions --version 6.7.3
                    
NuGet\Install-Package BoysheO.Extensions -Version 6.7.3
                    
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="BoysheO.Extensions" Version="6.7.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BoysheO.Extensions" Version="6.7.3" />
                    
Directory.Packages.props
<PackageReference Include="BoysheO.Extensions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BoysheO.Extensions --version 6.7.3
                    
#r "nuget: BoysheO.Extensions, 6.7.3"
                    
#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.
#:package BoysheO.Extensions@6.7.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BoysheO.Extensions&version=6.7.3
                    
Install as a Cake Addin
#tool nuget:?package=BoysheO.Extensions&version=6.7.3
                    
Install as a Cake Tool

BoysheO.Extensions

simple,high performance, useful extensions

[6.7.3] - 2025-09-08

New Api: GetCallerContextSimple()

[6.7.2] - 2025-08-26

New Toolkit: PathX

[6.7.1] - 2025-04-20

Fixed the issue where ThrowIfNull and the original function EnsureNotNull were not synonymous

[6.7.0] - 2025-04-20

What changed

  • EnsureNotNull<T>()ThrowIfNull<T>()
  • EnsureNotNullOrWhiteSpace()ThrowIfNullOrWhiteSpace()

Why

The term Ensure can suggest automatic correction or default substitution. To avoid this ambiguity, I’ve renamed these methods to use the more explicit ThrowIf... pattern. This makes it immediately clear that these methods throw exceptions when validation fails.

Impact

Only method names have changed — behavior remains the same. Please update your code accordingly.

6.6.1 Updates

Change

void EnsureNotNullOrWhiteSpace(this string? str) 

to

string EnsureNotNullOrWhiteSpace(this string? str)

6.6.0 Updates

New API:IOUtil

6.3.3 Updates

Change EnsureIsNotNullOrWhiteSpace(string) to EnsureNotNullOrWhiteSpace(string).

6.3.2 Updates

Append EnsureIsNotNullOrWhiteSpace(string).I found that it is used very frequently too.

6.3.1 Updates

Append IsNotNullOrWhiteSpace(string).I found that it is used very, very frequently.

6.3.0 Updates

Modify the BoysheO.Extensions.ObjectExtensions.EnsureNotNull method to correct its flawed design.

6.2.3(Deprecated) Updates

Append BoysheO.Extensions.ObjectExtensions.EnsureNotNull method.

6.2.2 Updates

Append [System.Diagnostics.CodeAnalysis.NotNullWhen(false)] to string.IsNullOrEmpty and IsNullOrWhiteSpace

6.2.1 Updates

Support more platform now.
Optimize performance.
SpanReaderB.ReadingStringUTF8 was deprecated.
SpanWriterB.WriteStringUTF8 was deprecated.
StringUtil.BytesToReadableSize(long) was deprecated.
TimeUtil.GetCountOfTheTimeBetween was deprecated.

6.0.0 Updates

Remove ArrayPoolUtil which was deprecated. Remove "global::Extensions" namespace which can cause Unity compile not correct.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  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.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 is compatible.  net472 was computed.  net48 was computed.  net481 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on BoysheO.Extensions:

Package Downloads
BoysheO.Collection.Abstractions

Package Description

BoysheO.Collection2

Package Description

BoysheO.ObjectPool

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
6.7.3 150 9/8/2025
6.7.2 156 9/1/2025
6.7.1 255 4/20/2025
6.7.0 192 4/20/2025
6.6.1 194 4/13/2025
6.6.0 133 4/12/2025
6.5.0 154 2/27/2025
6.4.0 142 2/2/2025
6.3.3 129 1/30/2025
6.3.1 132 1/30/2025
6.3.0 112 1/8/2025
6.2.2 172 1/3/2025
6.2.1 138 12/29/2024
6.1.1 147 12/19/2024
6.1.0 147 11/28/2024
6.0.0 143 10/13/2024
5.0.6 876 6/26/2024
5.0.5 136 6/3/2024
5.0.4 309 12/27/2023
5.0.3 196 12/2/2023
5.0.2 142 12/1/2023
5.0.1 191 10/22/2023
5.0.0 357 6/9/2023
4.0.2 278 4/8/2023
4.0.1 268 4/3/2023
4.0.0 303 4/1/2023
3.0.2 350 2/26/2023
3.0.1 314 2/21/2023
3.0.0 317 2/17/2023
2.0.18 489 8/24/2022
2.0.17 513 7/3/2022
2.0.15 503 6/27/2022
2.0.14 510 6/23/2022
2.0.13 494 6/20/2022
2.0.12 505 6/18/2022
2.0.11 503 6/18/2022
2.0.10 498 6/17/2022
2.0.9 515 6/8/2022
2.0.8 604 6/6/2022 2.0.8 is deprecated because it has critical bugs.
2.0.5 502 5/26/2022
2.0.4 476 5/25/2022
2.0.3 514 5/25/2022
2.0.2 488 5/23/2022
2.0.1 521 5/23/2022
2.0.0 493 5/21/2022
1.0.13 634 5/11/2022 1.0.13 is deprecated because it is no longer maintained.
1.0.12 597 5/10/2022 1.0.12 is deprecated because it is no longer maintained.
1.0.11 584 5/7/2022 1.0.11 is deprecated because it is no longer maintained.
1.0.10 596 5/1/2022 1.0.10 is deprecated because it is no longer maintained.
1.0.9 610 5/1/2022 1.0.9 is deprecated because it is no longer maintained.
1.0.8 610 4/27/2022 1.0.8 is deprecated because it is no longer maintained.
1.0.7 590 4/25/2022 1.0.7 is deprecated because it is no longer maintained.
1.0.6 594 4/19/2022 1.0.6 is deprecated because it is no longer maintained.
1.0.5 606 4/5/2022 1.0.5 is deprecated because it is no longer maintained.
1.0.4 611 4/5/2022 1.0.4 is deprecated because it is no longer maintained.
1.0.3 639 4/5/2022 1.0.3 is deprecated because it is no longer maintained.
1.0.2 605 4/4/2022 1.0.2 is deprecated because it is no longer maintained.
1.0.1 601 4/4/2022 1.0.1 is deprecated because it is no longer maintained.
1.0.0 621 4/5/2022 1.0.0 is deprecated because it is no longer maintained.