Все, что реализует IList
(или, более вероятно, IList<T>
), так как на них может ссылаться индекс. Очень просто выбрать случайное число в диапазоне 0 < n < list.Count-1
и получить этот элемент из списка.
например, /
// assumes 'random' is an instance of System.Random
myRandomElement = myList[random.Next(0,myList.Count-1)]