Предположим, что
List<element>
какой элемент:
public class Element(){
int Weight {get;set;}
}
То, что я хочу достичь, - это случайный выбор элемента по весу. Например:
Element_1.Weight = 100;
Element_2.Weight = 50;
Element_3.Weight = 200;
So
- выбран шанс
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 в ОДНОЙ строке (или как можно короче), спасибо.
UPDATE
Я нашел свой ответ ниже. Первое, что я узнал, это: Linq НЕ является волшебным, он медленнее, чем хорошо спроектированный цикл.
Итак, мой вопрос - найти случайный элемент по весу (без как можно более короткого материала:)