Предположим:
List
, какой элемент:
public class Element(){
int Weight {get;set;}
}
Я хочу добиться, чтобы выбрать элемент случайным образом по весу. Например:
Element_1.Weight = 100;
Element_2.Weight = 50;
Element_3.Weight = 200;
Таким образом,
Element_1
составляет 100 / (100 + 50 + 200) = 28,57% Element_2
равен 50 /(100+50+200)=14.29% Element_3
составляет 200 / (100 + 50 + 200) = 57,14% Я знаю, что могу создать цикл, вычислить всего и т. д.
Я хочу узнать, как лучше всего сделать это с помощью Linq в ОДНОЙ строке (или как можно короче), спасибо.
ОБНОВЛЕНИЕ
Я нашел свой ответ ниже. Первое, что я узнал: Linq НЕ волшебство, он медленнее, чем хорошо продуманный цикл .
Итак, мой вопрос заключается в том, чтобы найти случайный элемент по весу (без как можно более короткого материала :)