[C#] 指定したListからランダムで要素を取得
ある配列やListから、要素をランダムで1つだけ取得するコードとしてよく
int a = m_List[ Random.Range(0, m_List.Count) ];
と書いているのだが、冗長でめんどくさくなってきたので、
以下のようにstaticメソッド&ジェネリックで汎用化して使っている。
//--------------------------------------------------------------------------------
// Listから要素をランダムで1つ取得する
//--------------------------------------------------------------------------------
public static T GetRandom<T>( List<T> list )
{
return list[ UnityEngine.Random.Range(0, list.Count) ];
}
これにより
int b = UniUtil.GetRandom( m_List );
として済むようになり、ちょっと楽。