UniqueNamer 25.1.55731
dotnet add package UniqueNamer --version 25.1.55731
NuGet\Install-Package UniqueNamer -Version 25.1.55731
<PackageReference Include="UniqueNamer" Version="25.1.55731" />
<PackageVersion Include="UniqueNamer" Version="25.1.55731" />
<PackageReference Include="UniqueNamer" />
paket add UniqueNamer --version 25.1.55731
#r "nuget: UniqueNamer, 25.1.55731"
#addin nuget:?package=UniqueNamer&version=25.1.55731
#tool nuget:?package=UniqueNamer&version=25.1.55731
UniqueNamer
UniqueNamer is a C# library for generating unique and memorable names (e.g., talented-toucan
, naughty-watermelon
). These names are ideal for naming temporary directories, user session IDs, gamer tags, project names, process names, or submitted jobs.
The library is inspired by aziele/unique-namer, originally developed by Andrzej Zielezinski. UniqueNamer expands on the concept, offering customizable name generation with a wide variety of thematic categories.
Features
- Over 17 million unique names
- Nearly infinite unique identifiers with suffix options
- 22 predefined categories
- Customizable output style and formatting
Installation
UniqueNamer is available as a NuGet package. You can install it using the NuGet Package Manager:
Install-Package UniqueNamer
Or via the .NET CLI:
dotnet add package UniqueNamer
Usage
Generating Names
The Generate
method returns a unique and randomly generated name consisting of an adjective and a noun.
using UniqueNamer;
string name = UniqueNamer.Generate(new[] { Categories.Animals });
Console.WriteLine(name); // Example: 'blushy-cyclist'
Customizing Names
Choosing Categories
The Generate
method allows specifying categories to influence the type of generated names:
string name = UniqueNamer.Generate(new[] { Categories.Astronomy });
Console.WriteLine(name); // Example: 'crazy-supernova'
To select multiple categories:
string name = UniqueNamer.Generate(new[] { Categories.Physics, Categories.Biology });
Console.WriteLine(name); // Example: 'pink-bacteria'
Adding a Unique Suffix
The suffixLength
parameter adds a random alphanumeric suffix to create a unique identifier:
string name = UniqueNamer.Generate(new[] { Categories.History }, suffixLength: 3);
Console.WriteLine(name); // Example: 'annoying-cleopatra-9a1'
Customizing Separators
Change the separator between name components:
string name = UniqueNamer.Generate(new[] { Categories.Sports }, separator: "_");
Console.WriteLine(name); // Example: 'savage_judo'
Formatting Styles
The Style
enum lets you choose different text case formats:
string name = UniqueNamer.Generate(new[] { Categories.Food }, style: Style.UPPERCASE);
Console.WriteLine(name); // Example: 'DAMAGED-ELECTRON'
string nameTitle = UniqueNamer.Generate(new[] { Categories.Music }, separator: " ", style: Style.TitleCase);
Console.WriteLine(nameTitle); // Example: 'Lazy Unicorn'
Categories
UniqueNamer provides predefined categories to tailor generated names. Some available categories include:
Animals
Art
Astronomy
Biology
Chemistry
ComputerScience
Economy
Food
Geography
History
Literature
Math
Medicine
Microbiology
MolecularBiology
Music
Physics
Plants
Scientists
Sports
Technology
License
This project is licensed under the MIT License.
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 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 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 | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | 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.1
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.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 |
---|---|---|
25.1.55731 | 2,207 | 1/31/2025 |
25.1.55730 | 105 | 1/31/2025 |
25.1.55727 | 98 | 1/31/2025 |