Long-Slow-Distance

Programming Notes with Unity

メニュー

[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 );

として済むようになり、ちょっと楽。

関連記事