private string Munge() { // http://stackoverflow.com/a/5383519/41153 //var s = Source.ToCharArray(); var s = new TextTokenizer(Granularity, Source).Tokens; var rnd = new Random(); // TODO: if char-level, optionall preserve first and last chars... // see algorithm @ http://stackoverflow.com/questions/273313/randomize-a-listt-in-c-sharp var result = s.OrderBy(item => rnd.Next()); var joiner = string.Empty; switch (Granularity) { case Granularity.Character: joiner = string.Empty; break; case Granularity.Word: joiner = " "; break; case Granularity.Paragraph: joiner = "\r\n\r\n"; break; default: throw new ArgumentNullException(string.Format("{0} is not supported for Shuffler.", Granularity)); } return(string.Join(joiner, result.ToArray())); }
private string Munge() { var s = new TextTokenizer(Granularity.Paragraph, Source).Tokens; var rnd = new Random(); var result = s.OrderBy(item => rnd.Next()); return(string.Join("\r\n\r\n", result.ToArray())); }