2020-03-10

Listの要素をランダムに並べ替える

C#でListに格納した要素をランダムに並べ替えたい時があったので、その時のメモになります。

コード

コードは簡単でOrderBy()を使って以下のようにするだけです。


items = items.OrderBy(x => Guid.NewGuid()).ToList();

Guid.NewGuid()でユニークな値を要素ごとに設定して、その値で並べ替えています。

Guidは確実に一意な値が取得できるわけではないですが、同じ値だったとしても、ランダムに並べ替えるのであればそれはそれでありなので、実用上は問題ありません。

参考リンク

C#】関連記事