[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 );
として済むようになり、ちょっと楽。