Generating unique string in C#

One of the solution in C# that generates unique string. 

class UniqueString
{
private static readonly Random random = new Random();
private static readonly object syncLock = new object();

// Map to store 62 possible characters  
private static readonly char[] charMap = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".ToCharArray();
/// <summary>
/// Generates unique string
/// </summary>
/// <param name="strLen">Length of the string.</param>
/// <returns>Unique string of specified length.</returns>
public static string GenerateUniqueString(int strLen)
{
if (strLen <= 0)
{
return null;
}

StringBuilder sb = new StringBuilder();
for (int i = 0; i < strLen; i++)
{
lock (syncLock) // synchronize
{
_ = sb.Append(charMap[random.Next(62)]);
}
}
return sb.ToString();
}
public static void Main()
{
// generate 10 character string
Console.WriteLine("GenerateUniqueString(10): {0}", GenerateUniqueString(10));
Console.WriteLine($"GenerateUniqueString(10): {GenerateUniqueString(10)}");
Console.WriteLine($"GenerateUniqueString(10): {GenerateUniqueString(10)}");
Console.WriteLine($"GenerateUniqueString(10): {GenerateUniqueString(10)}");
Console.WriteLine($"GenerateUniqueString(10): {GenerateUniqueString(10)}");
Console.WriteLine($"GenerateUniqueString(10): {GenerateUniqueString(10)}");
Console.WriteLine($"GenerateUniqueString(10): {GenerateUniqueString(10)}");
Console.WriteLine($"GenerateUniqueString(10): {GenerateUniqueString(10)}");
}
}

Popular posts from this blog

Internet Information Services (IIS) on Load Balancer and shared folder for files

SQL Query Optimization