Как перетасовать строку в Unity C#

Есть ли в Unity C# простой способ перемешать буквы алфавита в строке? Это для создания перемешанной версии строки.

2 ответа

Google Fisher-Yates, и вы найдете это.

To shuffle an array a of n elements (indices 0..n-1):   
    for i from n − 1 downto 1 do
       j ← random integer with 0 ≤ j ≤ i
       exchange a[j] and a[i]

Это должно быть достаточно легко перевести на C#

Закажите свою строку чем-то непредсказуемым

var oldString = "shuffle";
var shuffled = new string(oldString.OrderBy(x => Guid.NewGuid()).ToArray());

//shuffled = "feflhus"
Другие вопросы по тегам