![]() |
VOOZH | about |
dotnet add package Kebechet.Extensions.IsNullOrEmpty --version 1.1.0
NuGet\Install-Package Kebechet.Extensions.IsNullOrEmpty -Version 1.1.0
<PackageReference Include="Kebechet.Extensions.IsNullOrEmpty" Version="1.1.0" />
<PackageVersion Include="Kebechet.Extensions.IsNullOrEmpty" Version="1.1.0" />Directory.Packages.props
<PackageReference Include="Kebechet.Extensions.IsNullOrEmpty" />Project file
paket add Kebechet.Extensions.IsNullOrEmpty --version 1.1.0
#r "nuget: Kebechet.Extensions.IsNullOrEmpty, 1.1.0"
#:package Kebechet.Extensions.IsNullOrEmpty@1.1.0
#addin nuget:?package=Kebechet.Extensions.IsNullOrEmpty&version=1.1.0Install as a Cake Addin
#tool nuget:?package=Kebechet.Extensions.IsNullOrEmpty&version=1.1.0Install as a Cake Tool
👁 NuGet Version
👁 NuGet Downloads
👁 Twitter
Small set of C# extension methods to check for null/empty/zero across common types.
Use the .NET CLI:
dotnet add package Kebechet.Extensions.IsNullOrEmpty
using System;
using System.Collections.Generic;
using IsNullOrEmpty.Extensions;
// Strings
string? s1 = null;
bool a = s1.IsNullOrEmpty(); // true
string? s2 = " ";
bool b = s2.IsNullOrWhiteSpace(); // true
// Collections
IEnumerable<int>? numbers = null;
bool c = numbers.IsNullOrEmpty(); // true
var list = new List<string>();
bool d = list.IsNullOrEmpty(); // true when empty
// Guid
Guid? id1 = null;
bool e = id1.IsNullOrEmpty(); // true
Guid? id2 = Guid.Empty;
bool f = id2.IsNullOrEmpty(); // true
// Numerics (nullable)
int? i = 0;
long? l = null;
double? dbl = 0.0;
decimal? dec = 5m;
float? fl = 0f;
bool g = i.IsNullOrZero(); // true
bool h = l.IsNullOrZero(); // true
bool j = dbl.IsNullOrZero(); // true
bool k = dec.IsNullOrZero(); // false
bool m = fl.IsNullOrZero(); // true
All methods are annotated with [NotNullWhen(false)], so Roslyn's nullable analysis understands the null check:
string? name = GetName();
if (name.IsNullOrEmpty())
{
return;
}
// No nullable warning here — Roslyn knows name is not null
Console.WriteLine(name.Length);
string?:
IsNullOrEmpty()IsNullOrWhiteSpace()IEnumerable<T>?:
IsNullOrEmpty()Guid?:
IsNullOrEmpty()int?, long?, double?, decimal?, float?):
IsNullOrZero()| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 netstandard2.1 is compatible. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 1 NuGet packages that depend on Kebechet.Extensions.IsNullOrEmpty:
| Package | Downloads |
|---|---|
|
Kebechet.Maui.RevenueCat.InAppBilling
Serves as an abstraction around RevenueCat Android and iOS SDKs https://docs.revenuecat.com/docs |
This package is not used by any popular GitHub repositories.
Added [NotNullWhen(false)] annotations for Roslyn nullable flow analysis