которые наследуются от класса Т. Для каждого своя вероятность, что создать придётся именно его:
А — 60%
В — 30%
С — 10%
Ничего лучше такого кода я не придумал:
T t;
int r = new Random().Next(1, 100);
if (r <= 60) t = new A();
else if (r > 60 && r <= 90) t = new B();
else if (r > 90 && r <= 100) t = new C();
Есть ли какой-то более адекватный вариант?
C# 9 switch expressions
вообще, я хотел вариант, который бы подошёл для большого количества элементов
Ну бля switch r Case int i when i<= 60 :
воообще есть одна идея
Обсуждают сегодня