Shuffle chaîne de c#
Je veux savoir shuffle chaîne
Exemple chaîne
string word;
//I want to shuffle it
word = "hello"
Je voudrais être en mesure d'obtenir:
rand == "ohlel"
rand == "lleho"
etc.
OriginalL'auteur ksmakkapawee | 2011-01-19
Vous devez vous connecter pour publier un commentaire.
Cette solution (dans une forme de méthode d'extension) est agréable:
OriginalL'auteur nan
C#:
OriginalL'auteur BvdVen
Vous êtes à la recherche de quelque chose comme la Shuffle de Fisher–Yates. Il y a effectivement un Python exemple sur cette page:
Edit: étant donné que votre question est marqué à la fois
ironpython
etc#
, il y a aussi un exemple Java qui est très facilement converti en C#.OriginalL'auteur porges
Essayer De Fisher-Yates Shuffle:
+1 pour l'idée de l'algorithme, nous avons un beaucoup plus courte version: rosettacode.org/wiki/Knuth_shuffle#C.23
OriginalL'auteur János Dani
inspiré de tsql' ordre par newid()
OriginalL'auteur Khurram Aziz
La meilleure façon de mélanger une chaîne ou une liste de chaînes à l'aide de cette façon. Ici vous n'aurez pas de doublons:
OriginalL'auteur syd_buet
Vous pouvez essayer quelque chose comme ça..
OriginalL'auteur Murtaza zaidi
OriginalL'auteur Noman Aftab
- Je y arriver avec cette extension:
GUID est unique, non pas aléatoire
OriginalL'auteur Roy Ashbrook
J'ai essayé l'ancienne manière de le faire, celui-ci fonctionne très bien.
OriginalL'auteur Rye
De Fisher-Yates
chars.ToString()
retourne toujours un littéral "Système".Char[]". La lignereturn chars.ToString();
devrait êtrereturn new string(chars);
Cela n'empêche pas le jeu d'origine, il remplace les caractères ne sont pas utilisés.
OriginalL'auteur paparazzo