Files
MSEssentials.Extensions/SimpleToolkit.Extensions/StringExtensions.cs
Mateusz Skoczek 01a5981187
Some checks failed
Build and publish app / Build (push) Successful in 18s
Build and publish app / Determine version (push) Successful in 15s
Build and publish app / Pack (push) Successful in 20s
Build and publish app / Publish (push) Failing after 11s
Update SimpleToolkit.Extensions/StringExtensions.cs
2026-02-14 23:27:54 +01:00

31 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SimpleToolkit.Extensions
{
public static class StringExtensions
{
public static string CreateRandom(int length) => CreateRandom(length, "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890`~!@#$%^&*()-_=+[{]};:'\"\\|,<.>/?");
public static string CreateRandom(int length, IEnumerable<char> characters) => new string(Enumerable.Repeat(characters, length).Select(s => s.ElementAt(Random.Shared.Next(s.Count()))).ToArray());
public static string Shuffle(this string instance)
{
char[] array = instance.ToCharArray();
Random rng = Random.Shared;
int n = array.Length;
while (n > 1)
{
n--;
int k = rng.Next(n + 1);
char value = array[k];
array[k] = array[n];
array[n] = value;
}
return new string(array);
}
}
}