R
rash
Только-только начал заниматься с C# и сразу наткнулся на такую задачу:
Есть несколько функций.
Нужно вызвать случайную функцию из списка, этот список изменяется во время выполнения программы, то есть в него могут быть добавлены/удалены функции в процессе выполнения.
Пока нашел такое решение:
Где CallFunc - это делегат, test1, test2, test3 - функции, из которых надо выбрать случайную.
Есть ли более красивое решение этой задачи, или это вполне допустимо? Пока мой уровень знаний не позволяет найти лучшее, а заучивать плохой подход и делать его привычным очень не хочется...
Есть несколько функций.
Нужно вызвать случайную функцию из списка, этот список изменяется во время выполнения программы, то есть в него могут быть добавлены/удалены функции в процессе выполнения.
Пока нашел такое решение:
Код:
ArrayList dArray = new ArrayList();
// динамическое формирование списка
dArray.Add(new CallFunc(test1));
dArray.Add(new CallFunc(test2));
dArray.Add(new CallFunc(test3));
// список сформирован
Random randomizer = new Random();
CallFunc FTest = (CallFunc)dArray[randomizer.Next(3)];
FTest();
Есть ли более красивое решение этой задачи, или это вполне допустимо? Пока мой уровень знаний не позволяет найти лучшее, а заучивать плохой подход и делать его привычным очень не хочется...