どうも、ちょげ(@chogetarou)です。
List(リスト)をランダムに並び替える方法を紹介します。
方法

Listを並び替えるには、System.LinqのOrderBy()とRandom()を使います。
まず、System.Linqを導入します。
using System.Linq;
次に、Radomのインスタンスを生成します。
var random = new Random();
そして、ListからOrderByを呼び出し、OrderByのラムダ式でRandomのNext()を返します。
OrderBy()からToArray()を呼び出し、ToArrayの結果を元の配列に代入します。
array = array.OrderBy(x => random.Next()).ToList();
これでListの要素がランダムに並び替えられます。
使用例
using System;
using System.Linq;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
List<int> numbers = new List<int>() {1, 2, 3, 4, 5};
var random = new Random();
numbers = numbers.OrderBy(x => random.Next()).ToList();
foreach (var i in numbers)
{
Console.WriteLine(i);
}
}
}

コメント