GPSoftware.core
3.4.1
dotnet add package GPSoftware.core --version 3.4.1
NuGet\Install-Package GPSoftware.core -Version 3.4.1
<PackageReference Include="GPSoftware.core" Version="3.4.1" />
<PackageVersion Include="GPSoftware.core" Version="3.4.1" />
<PackageReference Include="GPSoftware.core" />
paket add GPSoftware.core --version 3.4.1
#r "nuget: GPSoftware.core, 3.4.1"
#:package GPSoftware.core@3.4.1
#addin nuget:?package=GPSoftware.core&version=3.4.1
#tool nuget:?package=GPSoftware.core&version=3.4.1
GPSoftware.Core
A lightweight, versatile, high-performance .NET library providing essential utilities and extension methods.
Built with cross-compatibility in mind, it supports modern .NET runtimes while remaining fully functional for legacy systems.
Key Features
- 🌍 Localization & Finance: Advanced
Currencymanagement with culture-aware formatting. - ✅ Validation: Specialized attributes for international Social Security Numbers (IT, CH, AT, FR).
- 📅 Date & Time: Modern extensions for
DateOnlyandDateTime(optimized for .NET 6+). - 🛠 Utility Extensions: Optimized methods for string manipulation, collection handling, and data processing.
🛠 Compatibility & Support
The library targets .NET Standard 2.0, ensuring it can be used across a wide range of platforms:
- Modern .NET: Fully optimized for .NET 8.0, .NET 7.0, and .NET 6.0.
- Legacy .NET Framework: Compatible with .NET Framework 4.6.2 and above.
- Cross-Platform: Works seamlessly on Windows, Linux, and macOS via .NET Core / .NET 5+.
While the library is compatible with .NET Standard 2.0, some specific features (like DateOnly extensions) are optimized for the runtimes that natively support them.
Quick Examples
using GPSoftware.Core.Extensions;
// --- Culture-aware Currency (v3.4.0 feature)
var price = new Currency(1250.50m);
string formatted = price.ToString(new CultureInfo("it-IT")); // "1.250,50 €"
// --- International SSN Validation
[SocialSecurityNumber(Country.Italy)]
public string MyTaxCode { get; set; }
// --- International SSN Validation
string ssnCode = "CRTGPR68H21G839X";
bool isValid = SocialSecurityValidator.Validate(ssnCode, Country.Italy);
if (!isValid)
{
throw new Exception("Invalid Italian Fiscal code");
}
// --- Quickly check strings for multiple conditions
string? myData = " ";
if (myData.IsNotNullOrWhiteSpace())
{
// Do something
}
// --- Fluent conversions with fallback values
string input = "123";
int result = input.ToInt(defaultValue: 0);
// --- Slug generation for URLs
string title = "Hello World! This is a Test";
string slug = title.ToSlug(); // "hello-world-this-is-a-test"
// --- Collection & Mapping Helpers
var items = new List<string> { "A", "B", "C" };
var item = items.GetElementAtOrDefault(5); // Returns null instead of throwing exception
var batches = items.Chunk(2); // Splitting into smaller chunks of 2
How to install
Install the package from NuGet or from the Package Manager Console :
PM> Install-Package GPSoftware.Core
Disclaimer
This library has been developed initialy for a personal project of mine which suits my use case. It provides a simple way to do useful software development stuff.
We do not take responsability if you use/deploy this in a production environment.
| Product | Versions 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 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
- Microsoft.CSharp (>= 4.7.0)
- System.ComponentModel.Annotations (>= 5.0.0)
-
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 |
|---|---|---|
| 3.4.1 | 96 | 2/12/2026 |
| 3.4.0 | 99 | 1/22/2026 |
| 3.3.0.1 | 101 | 1/22/2026 |
| 3.3.0 | 100 | 1/22/2026 |
| 3.2.3.1 | 100 | 1/21/2026 |
| 3.2.3 | 707 | 12/3/2025 |
| 3.2.2 | 611 | 12/1/2025 |
| 3.2.1 | 277 | 6/4/2025 |
| 3.2.0 | 263 | 6/4/2025 |
| 3.1.0 | 264 | 9/24/2024 |
| 3.0.3 | 384 | 2/8/2024 |
| 3.0.2 | 379 | 1/31/2024 |
| 3.0.1 | 411 | 1/22/2024 |
| 3.0.0 | 452 | 1/8/2024 |
| 2.3.1 | 473 | 12/27/2023 |
| 2.3.0 | 420 | 12/27/2023 |
| 2.2.1 | 837 | 1/27/2023 |
| 2.1.1 | 727 | 1/10/2023 |
| 2.1.0 | 736 | 1/7/2023 |
| 1.5.2 | 745 | 12/23/2021 |
- new extension methods for printing DateTime and decimal