どうも、ちょげ(@chogetarou)です。
文字列(string)をランダムに並び替える方法を紹介します。
方法

文字列(string)をランダムに並び替えるには、ToCharArray()とOrderBy()を使います。
まず、System.Linqを導入します
using System.Linq;
次に、Randomをインスタンス化します。
それから、「new string()」を呼び出します。
string()の引数で、文字列からToCharArray()を呼び出し、ToCharArray()からOrderBy()を呼び出します。
そして、OrderBy()からToArray()を呼び出します。
OrderBy()の引数に、RandomのインスタンスからNext()を呼び出した結果を返す関数を指定します。
//text=対象の文字列
Random rnd = new Random();
string result = new string(text.ToCharArray().OrderBy(x => rnd.Next()).ToArray());
上記の「new string()」は、文字列をランダムに並び替えた新しい文字列を生成します。
使用例
using System;
using System.Linq;
public class Example
{
public static void Main()
{
string text = "Hello,World";
Random rnd = new Random();
string result = new string(text.ToCharArray().OrderBy(x => rnd.Next()).ToArray());
Console.WriteLine(result);
}
}
出力:
dloreoWHl,l
コメント