データ操作

[C#] 配列の要素をシャッフルする

配列の要素をシャッフルする方法です。

サンプル

例)配列の要素をシャッフルする


using System.Linq;

// 元の配列
int[] arr1 = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

// シャッフル後の配列
int[] arr2 = arr1.OrderBy(x => Guid.NewGuid()).ToArray();

結果例

arr1 → { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
arr2 → { 2, 4, 6, 5, 8, 7, 1, 3, 9, 0 }

備考

  • GUIDは128バイトからなる値で、一意として扱って良いとされている値です
  • このGUIDを使用してソートすることで配列をシャッフルしています

関連記事

-データ操作
-,