Выполните итерации через, и для каждого элемента делают вероятность из выбора = (число необходимый) / (число оставленный)
Поэтому, если бы у Вас было 40 объектов, первое имело бы 5/40 шанс того, чтобы быть выбранным. Если это, следующее имеет 4/39 шанс, иначе это имеет 5/39 шанс. К тому времени, когда Вы добираетесь до конца, у Вас будут свои 5 объектов, и часто у Вас будут все они перед этим.
Хорошо, я разобрался, немного посмотрев.
Visual Studio сгенерирует для вас файлы, и вы сможете просто отредактировать информацию.
Вы имеете в виду собственную (неуправляемую) DLL? У собственных библиотек DLL нет версии сборки, у них есть информация о версии.