Dev.Util.Core
1.0.1
See the version list below for details.
dotnet add package Dev.Util.Core --version 1.0.1
NuGet\Install-Package Dev.Util.Core -Version 1.0.1
<PackageReference Include="Dev.Util.Core" Version="1.0.1" />
<PackageVersion Include="Dev.Util.Core" Version="1.0.1" />
<PackageReference Include="Dev.Util.Core" />
paket add Dev.Util.Core --version 1.0.1
#r "nuget: Dev.Util.Core, 1.0.1"
#:package Dev.Util.Core@1.0.1
#addin nuget:?package=Dev.Util.Core&version=1.0.1
#tool nuget:?package=Dev.Util.Core&version=1.0.1
Dev.Util.Core
The foundation of the Dev.Util ecosystem. This package provides essential extension methods, guard clauses, and utilities that every .NET developer needs.
📦 Installation
dotnet add package Dev.Util.Core
✨ Features
- Guard Clauses: Fluent argument validation.
- String Extensions: Humanizers, slugify, conversion.
- DateTime Extensions: Business days, age calculation, relative time.
- Object Extensions: Fluent null checking.
- Validation: Email, phone, and credit card validation.
🛠 Usage Examples
1. Guard Clauses
Stop writing repetitive if (arg == null) throw ... checks. Use fluent guards instead.
using Dev.Util.Core;
public void CreateUser(string username, int age, List<string> roles)
{
// Throws ArgumentNullException / ArgumentException / ArgumentOutOfRangeException
Guard.Against.NullOrWhiteSpace(username, nameof(username));
Guard.Against.NegativeOrZero(age, nameof(age));
Guard.Against.NullOrEmpty(roles, nameof(roles));
// Custom condition
Guard.Against.Condition(age < 18, nameof(age), "User must be 18+");
}
2. String Manipulation
Make your strings human-readable and URL-friendly.
using Dev.Util.Core;
string title = "Hello World: This is a test!";
// Slugify for URLs
var slug = title.Slugify();
// Output: "hello-world-this-is-a-test"
// Truncate text
var summary = title.Truncate(10);
// Output: "Hello Worl..."
// Humanize Title Case
var properlyCased = "mr. john doe".ToTitleCase();
// Output: "Mr. John Doe"
// Word Count & Reading Time
int words = "Long article text...".WordCount();
int minutesToRead = "Long article text...".ReadingTimeInMinutes();
// Safe Conversion
int number = "123".ToInt();
int? safeNumber = "abc".ToIntOrNull(); // null
3. Date & Time
Simplify date logic with business day and relative time helpers.
using Dev.Util.Core;
var dob = new DateTime(1990, 5, 20);
int age = dob.ToAge();
// Output: 34 (depending on today)
// Relative Time
var postTime = DateTime.Now.AddMinutes(-5);
Console.WriteLine(postTime.ToRelativeTime());
// Output: "5 minutes ago"
// Business Days via Extensions
var friday = new DateTime(2023, 10, 27);
var nextBusinessDay = friday.AddBusinessDays(1);
// Skips Sat/Sun -> Monday 2023-10-30
bool isWeekend = DateTime.Now.IsWeekend();
4. Validation
Quickly validate common data formats.
using Dev.Util.Core;
bool isValidEmail = "test@example.com".IsValidEmail();
bool isCreditCard = "4111...".IsValidCreditCard(); // basic Luhn check
bool isUrl = "https://google.com".IsValidUrl();
| 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 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 is compatible. 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 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| 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. |
-
.NETStandard 2.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (10)
Showing the top 5 NuGet packages that depend on Dev.Util.Core:
| Package | Downloads |
|---|---|
|
Dev.Util.Security
Cryptography and Hashing utilities for the Dev.Util ecosystem. |
|
|
Dev.Util.Tasks
Async, Task, and Threading helpers for the Dev.Util ecosystem. |
|
|
Dev.Util.Web
Web and URL utilities for the Dev.Util ecosystem. |
|
|
Dev.Util.IO
File system and compression utilities for the Dev.Util ecosystem. |
|
|
Dev.Util.Reflection
Runtime type inspection and reflection utilities for the Dev.Util ecosystem. |
GitHub repositories
This package is not used by any popular GitHub repositories.