配列の要素をシャッフルする方法です。
サンプル
例)配列の要素をシャッフルする
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を使用してソートすることで配列をシャッフルしています