DigitalZenWorks.Common.Utilities
1.6.0
dotnet add package DigitalZenWorks.Common.Utilities --version 1.6.0
NuGet\Install-Package DigitalZenWorks.Common.Utilities -Version 1.6.0
<PackageReference Include="DigitalZenWorks.Common.Utilities" Version="1.6.0" />
<PackageVersion Include="DigitalZenWorks.Common.Utilities" Version="1.6.0" />
<PackageReference Include="DigitalZenWorks.Common.Utilities" />
paket add DigitalZenWorks.Common.Utilities --version 1.6.0
#r "nuget: DigitalZenWorks.Common.Utilities, 1.6.0"
#:package DigitalZenWorks.Common.Utilities@1.6.0
#addin nuget:?package=DigitalZenWorks.Common.Utilities&version=1.6.0
#tool nuget:?package=DigitalZenWorks.Common.Utilities&version=1.6.0
UtilitiesNet
This is a C# base library project with reusable utilities for text, Unicode, email addresses, files, byte arrays, XML, and encryption.
Available as the
DigitalZenWorks.Common.Utilities NuGet package.
Installation
Add the package to your application:
dotnet add package DigitalZenWorks.Common.Utilities
Or use Visual Studio's Package Manager Console:
Install-Package DigitalZenWorks.Common.Utilities
Quick start
String extensions use the DigitalZenWorks.Common.Utilities.Extensions
namespace:
using DigitalZenWorks.Common.Utilities.Extensions;
string? propertyName = "email_address".ToCamelCase();
// emailAddress
string digits = "+1 (555) 010-0200".ToDigitsOnly();
// 15550100200
Other utilities use the DigitalZenWorks.Common.Utilities namespace:
using DigitalZenWorks.Common.Utilities;
bool valid = EmailUtilities.IsValidEmailAddress("user@example.com");
// true
Available utilities
| Area | Main classes |
|---|---|
| Text casing and string operations | TextCase, StringExtender |
| Unicode and language checks | UnicodeNormalizer, LanguagesSupport |
| Email validation and normalization | EmailUtilities |
| Files, streams, and directories | FileUtils |
| Bits, byte arrays, and conversions | BitBytes, GeneralUtilities |
| XML loading and schema validation | XmlUtilities |
| Encryption helpers | AESGCM, PasswordEncryption |
See the XML documentation in the library source for individual method parameters, return values, and limitations.
Target frameworks
The current Release configuration targets .NET Standard 2.0 and .NET 5, 6, 7, 8, 9, and 10. Debug builds target .NET 10 only. See the package page for the frameworks included in a published version and its dependencies.
Build and test
Install the .NET 10 SDK to build this checkout. Clone the repository:
git clone https://github.com/jamesjohnmcguire/UtilitiesNet.git
cd UtilitiesNet
From the repository root, build and run the NUnit tests:
dotnet build UtilitiesNet.slnx --configuration Debug
dotnet test UtilitiesNet.slnx --configuration Debug
Release builds compile all configured library targets and generate a NuGet
package under UtilitiesNetLibrary/bin/Release/:
dotnet build UtilitiesNet.slnx --configuration Release
Contributing
Report bugs and propose improvements through GitHub issues.
For a pull request:
- Fork the Project
- Create your focused branch
- Add your code changes
- Add or update tests to validate your changes
- Commit and Push your Changes
- Open a Pull Request. Include the description of the change, its validation, and any related issue in the PR.
Coding style
Please match the current coding style. Most notably:
- One operation per line
- Use complete, self-documenting English words in variable and method names
- Attempt to declare variable and method names in a self-documenting manner
- Use tabs and Allman braces
Keep public API compatibility in mind: this library is consumed as NuGet package.
License
Distributed under the MIT License.
Contact
James John McGuire — jamesjohnmcguire@gmail.com
Project repository. If the library is useful to you, consider giving it a star.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. 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 is compatible. 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 is compatible. 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
- BouncyCastle.Cryptography (>= 2.7.0)
- Common.Logging (>= 3.4.1)
- Common.Logging.Core (>= 3.4.1)
- Humanizer (>= 3.0.10)
- System.Buffers (>= 4.6.1)
-
net10.0
- BouncyCastle.Cryptography (>= 2.7.0)
- Common.Logging (>= 3.4.1)
- Common.Logging.Core (>= 3.4.1)
- Humanizer (>= 3.0.10)
-
net5.0
- BouncyCastle.Cryptography (>= 2.7.0)
- Common.Logging (>= 3.4.1)
- Common.Logging.Core (>= 3.4.1)
- Humanizer (>= 3.0.10)
-
net6.0
- BouncyCastle.Cryptography (>= 2.7.0)
- Common.Logging (>= 3.4.1)
- Common.Logging.Core (>= 3.4.1)
- Humanizer (>= 3.0.10)
-
net7.0
- BouncyCastle.Cryptography (>= 2.7.0)
- Common.Logging (>= 3.4.1)
- Common.Logging.Core (>= 3.4.1)
- Humanizer (>= 3.0.10)
-
net8.0
- BouncyCastle.Cryptography (>= 2.7.0)
- Common.Logging (>= 3.4.1)
- Common.Logging.Core (>= 3.4.1)
- Humanizer (>= 3.0.10)
-
net9.0
- BouncyCastle.Cryptography (>= 2.7.0)
- Common.Logging (>= 3.4.1)
- Common.Logging.Core (>= 3.4.1)
- Humanizer (>= 3.0.10)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on DigitalZenWorks.Common.Utilities:
| Package | Downloads |
|---|---|
|
DigitalZenWorks.Email.ToolKit
This client library provides functionality to help migrate email messages from dbx (Outlook Express) or eml format to Outlook. It also contains functionality to help clean up Outlook stores. Additional notes - https://github.com/jamesjohnmcguire/DigitalZenWorks.Email.ToolKit |
|
|
DigitalZenWorks.Email.DbxOutlookExpress
Read Outlook Express DBX folder and message data. |
|
|
DigitalZenWorks.Database.ToolKit
This client library provides common database functionality. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.6.0 | 134 | 11/4/2026 |
| 1.5.78 | 577 | 11/1/2025 |
| 1.4.75 | 392 | 3/21/2025 |
| 1.4.74 | 396 | 3/8/2025 |
| 1.3.72 | 284 | 12/30/2024 |
| 1.3.71 | 856 | 5/10/2024 |
| 1.3.70 | 308 | 5/8/2024 |
| 1.3.69 | 407 | 5/5/2024 |
| 1.3.68 | 342 | 1/28/2024 |
| 1.3.67 | 397 | 10/19/2023 |
| 1.3.66 | 748 | 3/24/2023 |
| 1.3.65 | 368 | 3/24/2023 |
| 1.3.64 | 381 | 3/24/2023 |
| 1.3.62 | 380 | 3/21/2023 |
| 1.2.61 | 698 | 12/12/2022 |
| 1.1.60 | 993 | 6/23/2022 |
| 1.1.59 | 623 | 5/3/2022 |
| 1.1.58 | 593 | 4/29/2022 |
| 1.1.57 | 588 | 4/29/2022 |
| 1.1.56 | 591 | 4/29/2022 |