NetEvolve.Extensions.Strings
2.0.0
Prefix Reserved
dotnet add package NetEvolve.Extensions.Strings --version 2.0.0
NuGet\Install-Package NetEvolve.Extensions.Strings -Version 2.0.0
<PackageReference Include="NetEvolve.Extensions.Strings" Version="2.0.0" />
<PackageVersion Include="NetEvolve.Extensions.Strings" Version="2.0.0" />
<PackageReference Include="NetEvolve.Extensions.Strings" />
paket add NetEvolve.Extensions.Strings --version 2.0.0
#r "nuget: NetEvolve.Extensions.Strings, 2.0.0"
#:package NetEvolve.Extensions.Strings@2.0.0
#addin nuget:?package=NetEvolve.Extensions.Strings&version=2.0.0
#tool nuget:?package=NetEvolve.Extensions.Strings&version=2.0.0
NetEvolve.Extensions.Strings
A modern .NET library providing essential extension methods for System.String to simplify common string operations. Part of the Daily DevOps & .NET - NetEvolve project.
Features
- 🎯 Simple & Intuitive API - Extension methods that feel natural to use
- 🚀 Multi-Framework Support - Compatible with .NET Standard 2.0, .NET 8.0, .NET 9.0, and .NET 10.0
- 📦 Minimal Dependencies - Single, lightweight external dependency (
NetEvolve.Arguments) - 🔒 Null-Safe - Proper argument validation with meaningful exceptions
Installation
Install the package via NuGet Package Manager:
dotnet add package NetEvolve.Extensions.Strings
Or via the Package Manager Console:
Install-Package NetEvolve.Extensions.Strings
Usage
EnsureEndsWith
Ensures that a string ends with the specified suffix. If the string already ends with the suffix, the original string is returned; otherwise, the suffix is appended.
using System;
string path = "C:\\Users\\Documents";
string result = path.EnsureEndsWith("\\");
// Result: "C:\\Users\\Documents\\"
string url = "https://example.com/";
string result2 = url.EnsureEndsWith("/");
// Result: "https://example.com/" (unchanged, already ends with "/")
// Case-insensitive comparison
string text = "Hello";
string result3 = text.EnsureEndsWith("WORLD", StringComparison.OrdinalIgnoreCase);
// Result: "HelloWORLD"
Parameters:
value(string): The string to checksuffix(string): The suffix to ensurecomparison(StringComparison): Optional comparison mode (default:CurrentCulture)
Exceptions:
ArgumentNullException: Thrown ifvalueorsuffixis null
EnsureStartsWith
Ensures that a string starts with the specified prefix. If the string already starts with the prefix, the original string is returned; otherwise, the prefix is prepended.
using System;
string path = "Documents\\file.txt";
string result = path.EnsureStartsWith("C:\\");
// Result: "C:\\Documents\\file.txt"
string url = "example.com";
string result2 = url.EnsureStartsWith("https://");
// Result: "https://example.com"
// Case-insensitive comparison
string text = "world";
string result3 = text.EnsureStartsWith("HELLO", StringComparison.OrdinalIgnoreCase);
// Result: "HELLOworld"
Parameters:
value(string): The string to checkprefix(string): The prefix to ensurecomparison(StringComparison): Optional comparison mode (default:CurrentCulture)
Exceptions:
ArgumentNullException: Thrown ifvalueorprefixis null
Supported Frameworks
- .NET Standard 2.0
- .NET 8.0
- .NET 9.0
- .NET 10.0
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Links
| 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 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
- NetEvolve.Arguments (>= 1.3.134)
-
net10.0
- NetEvolve.Arguments (>= 1.3.134)
-
net8.0
- NetEvolve.Arguments (>= 1.3.134)
-
net9.0
- NetEvolve.Arguments (>= 1.3.134)
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 |
|---|---|---|
| 2.0.0 | 261 | 11/21/2025 |
| 1.3.282 | 177 | 10/20/2025 |
| 1.3.227 | 236 | 5/4/2025 |
| 1.3.205 | 194 | 2/2/2025 |
| 1.3.200 | 148 | 1/29/2025 |
| 1.3.180 | 211 | 1/1/2025 |
| 1.3.164 | 216 | 12/12/2024 |
| 1.3.100 | 187 | 9/12/2024 |
| 1.3.88 | 175 | 8/26/2024 |
| 1.3.56 | 167 | 6/11/2024 |
| 1.3.46 | 194 | 5/23/2024 |
| 1.3.23 | 192 | 5/21/2024 |
| 1.3.8 | 204 | 4/8/2024 |
| 1.3.0 | 183 | 4/4/2024 |
| 1.2.103 | 195 | 2/14/2024 |
| 1.2.73 | 285 | 1/3/2024 |
| 1.2.68 | 217 | 1/1/2024 |
| 1.2.67 | 205 | 1/1/2024 |
| 1.2.56 | 236 | 11/20/2023 |
| 1.2.49 | 202 | 11/17/2023 |
| 1.2.29 | 238 | 10/11/2023 |
| 1.2.2 | 1,489 | 8/31/2023 |
| 1.1.0 | 410 | 8/29/2023 |
| 1.0.0 | 269 | 8/29/2023 |